.ajax()JSONP未终止的正则表达式文字

时间:2012-04-10 16:16:14

标签: jquery jsonp

我有一个简单的脚本,它有一个jQuery .ajax(),它需要一个HTML片段作为返回的数据。由于这是一个跨域调用,我必须设置dataType: 'jsonp'

预期返回的数据如下所示:

<li><a href="https://sugarsync.custhelp.com/app/answers/detail/a_id/293/">Link 1</a></li>
<li><a href="https://sugarsync.custhelp.com/app/answers/detail/a_id/307">Link 2</a></li>
...

不幸的是,当我运行脚本时,我收到以下错误(在Firebug控制台选项卡中)。我尝试了其他dataType,例如jsonp htmljsonp text html,但无济于事。

unterminated regular expression literal
...

这是jsFiddle demo。请帮帮忙?

2 个答案:

答案 0 :(得分:1)

您是否设置了服务器来处理jsonp请求?如果没有那么它将不起作用(根据我的理解)。

作为替代方案,有一个简洁的小jQuery插件,允许您进行跨域GET请求:https://github.com/padolsey/jQuery-Plugins/tree/master/cross-domain-ajax/

然后您可以像往常一样使用$.ajax

    $.ajax({
      url: 'http://blog.sugarsync.com/blog/rn-android/',
      type: 'GET',
      success: function(data) {
        $('#list').html(data.responseText);
      }
    });

希望这有帮助

答案 1 :(得分:0)

您可以尝试在json对象中包装从ajax Web服务返回的html。 例如{"html":"<li>the rest of your html</li>"}

然后你必须使用$('#list').html(data.html)

在成功函数中解压缩json

我认为使用jsonp时,您的数据必须采用有效的json格式。