在以下代码中:
function main() {
jQuery(document).ready(function($) {
/******* Load HTML *******/
var jsonp_url = "http://184.72.244.64/test.fwx?callback=?";
$.getJSON(jsonp_url, function(data) {
$('#DivTagToInsertTheHTML').html(data.html);
});
});
}
我想使用此功能将大量JavaScript传递到客户端浏览器。我需要使用它的原因是我需要从外部服务器检索它,这打破了“相同的原始策略”。
因此,当我在JSON中获取JavaScript时,如何解析它并执行它?有没有更好的方法呢?
答案 0 :(得分:0)
确定,
试试这个:
使用带有crossDomain的jquery ajax调用:true
http://api.jquery.com/jQuery.ajax/
或使用xDomainRequest(对于IE)和XMLHttpRequest(跨域请求的特定对象)
如果可以,您应该通过以下方式了解处理请求中带有CORS的服务器:
header('Access-Control-Allow-Origin: http://www.example.com');
header('Access-Control-Allow-Credentials: true');
if ($this->getRequestMethod() == 'OPTIONS')
{
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
header('Access-Control-Max-Age: 604800');
header('Access-Control-Allow-Headers: x-requested-with');
exit(0);
}
这是一篇好文章:
http://tpeczek.blogspot.pt/2010/09/httphandler-with-cross-origin-resource.html
答案 1 :(得分:0)
您使用javascript eval函数。请记住,这是一个安全风险。跨域安全性是有原因的。你为什么需要实时运行javascript?