当尝试使用 jQuery AJAX 和提供的代码解析 JSON 数组数据时,用户没有收到任何输出。
跨域 AJAX 调用需要 Web 服务支持方法注入才能运行 JSONP。客户端代码看起来有效,但问题可能出在 Web 应用程序和 Web 服务的域中。
使用 jQuery 的 dataType: 'jsonp' 时,会在查询网址。该方法在 window 对象中充当代理的角色,类似于:
window.some_random_dynamically_generated_method = function(actualJsonpData) { successCallback(actualJsonData); // Calls the success function passed to $.ajax }
要解决该问题,必须修改服务器端代码以包装 JSON函数名称中的数据与随查询字符串传递的数据相匹配。例如,如果查询字符串包含 ?callback=my_callback_method,则服务器的响应应为:
my_callback_method({your json serialized data})
以上是为什么我的 jQuery AJAX JSONP 请求无法从跨域源返回数据?的详细内容。更多信息请关注PHP中文网其他相关文章!