我有一个简单的脚本,它有一个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 html
和jsonp text html
,但无济于事。
unterminated regular expression literal
...
这是jsFiddle demo。请帮帮忙?
答案 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)
我认为使用jsonp时,您的数据必须采用有效的json格式。