如何在JQuery中使用getJSON解析并执行JavaScript

时间:2012-09-21 00:39:05

标签: javascript jquery

在以下代码中:

    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时,如何解析它并执行它?有没有更好的方法呢?

2 个答案:

答案 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?

http://www.w3schools.com/jsref/jsref_eval.ASP