使用JSONP而不包装响应

时间:2012-08-22 19:33:25

标签: php jquery jsonp

当我将URI放入网络浏览器时,我的服务器输出此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/

1 个答案:

答案 0 :(得分:3)

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

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

您可以对资源进行跨源ajax请求,但只有在服务器发送此标头时才可以这样做:

Access-Control-Allow-Origin: *

当然,明星可以用您的特定原点替换,它不一定是通配符