0

我正在开发 Rails 中的公共 api,非常简单。目前,我的标记类中有一个 jsonp 回调,调用时如下所示。

JSON:

{
    "tag": 
    {
        "id": 1,
        "tag_code": "<script type=\"text\/javascript\">alert(\"hello world\");      <\/script>"
    }
}

我的目标是将此代码放到远程页面上。

我曾尝试使用 ajax 来做到这一点,但是我知道 jquery 不允许出于安全目的将外部脚本标签加载到页面上。

远程页面上的 JQuery

function fetchTagData(id) 
{
    $.ajax(
    {
        url: "http://localhost:3000/tag/" + id + ".js",
        dataType: "jsonp",
        type: "GET",
        processData: false,
        contentType: "application/json",
        success: function(data) 
        {
            var code = data['tag']['tag_code'];
            console.log(code);
            $('#test').append(code);
        }
    });
};

当我查看控制台时,我看到了 js 的所有荣耀,并出现了警告框。当我查看源代码或检查元素时,js 不在页面上。

有谁知道我如何使用类似或相同的方法让 js 出现在页面上?

4

1 回答 1

0

像这样的json

{
   "tag": 
   {
      "id": 1,
      "tag_code": "alert(\"hello world\");"
   }
}

使用eval运行代码

function fetchTagData(id) 
{
$.ajax(
{
    url: "http://localhost:3000/tag/" + id + ".js",
    dataType: "jsonp",
    type: "GET",
    processData: false,
    contentType: "application/json",
    success: function(data) 
    {
        var code = data['tag']['tag_code'];
        console.log(code);
        eval(code);
    }
});
};
于 2013-04-01T03:23:09.787 回答