使用JSONP而不包装响应


Use JSONP without wrapping response

当我把URI放在web浏览器中时,我的服务器会输出这个JSON。我的客户端应用程序将使用JSONP获取此JSON,因为它访问外部域。

{
"is_execution_successful":true,
"data": "something"
}

有没有一种方法可以在不包装响应的情况下执行JSONP

echo $_GET['json_callback']. '('. json_encode($rtnjsonobj) . ')';  

我没有编辑服务器输出的权限。如何使用AJAX/JQuery获取JSON?

参考资料:http://remysharp.com/2007/10/08/what-is-jsonp/

JSONP在技术上与JSON无关。它只是javascript代码。

因此,如果响应是有效的JSON,那么当您将其作为javascript(JSONP)运行时,它将不会做任何有用的事情。特别是在这种情况下,JSON在作为javascript执行时会导致语法错误。

您可以向资源发出跨源ajax请求,但这只有在服务器发送以下标头时才可能:

Access-Control-Allow-Origin: *

星可以替换为您的特定来源,当然,它不必是通配符