【问题标题】:how does browser know it needs to execute callback when receiving cross domain JSONP浏览器如何知道接收跨域 JSONP 时需要执行回调
【发布时间】:2012-01-16 23:05:19
【问题描述】:
当我在做跨域 AJAX 时,返回的资源(围绕 JSON 返回的回调)如何导致正在执行的客户端的回调方法。
这个特性(回调的执行)是编程到 AJAX 客户端还是浏览器的这个部分,它在接收到包装的数据时,例如来自服务器的 clientCallBack('json_data') 触发 clientCallBack 并将其传递给 'json_data'
【问题讨论】:
标签:
ajax
cross-domain
jsonp
jquery-callback
【解决方案1】:
这是浏览器的一项功能。 JSONP 只是普通的 javascript,没有什么特别之处。加载 JSONP 脚本时,服务器会将响应包装在回调函数中(例如,clientCallback('json_data'))。包含此代码的脚本作为脚本标记附加到页面的 DOM 中,然后强制执行脚本中的代码。