2012-04-10 22 views
1

我有一個簡單的腳本,其中包含一個jQuery .ajax(),該腳本需要將HTML片段作爲返回的數據。由於這是一個跨域電話,我必須設置dataType: 'jsonp'.ajax()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。請幫助?

+1

'http:// blog.sugarsync.com/blog/rn-android /'提供HTML,而不是JavaScript。 – ThiefMaster 2012-04-10 16:56:51

回答

0

您可以嘗試將從ajax Web服務返回的html包裝到json對象中。 例如{"html":"<li>the rest of your html</li>"}

那麼你就必須使用$('#list').html(data.html)

解壓的成功功能JSON我認爲使用JSONP當您的數據必須是有效的JSON格式。

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); 
     } 
    }); 

希望這幫助

相關問題