2010-12-03 26 views
0

我嘗試使用AJAX上的http://140it.com/服務縮短一些文本,但我總是得到一個空的響應。140it與AJAX

實施例:

$.ajax({ 
    url: "http://140it.com/api/shrink", 
    data: {text: 'hello'}, 
    success: function(d) { alert(d) }, 
    dataType: 'html', 
    type: 'GET' 
}); 

如果我手動執行的URL(如browsign網絡)我得到的響應。 修復?謝謝。

回答

2

你應該使用api的JSONP格式,它採用了回調參數

http://140it.com/api/shrink?char_max=5&text=today&callback=do_something 

使用jQuery的getJSON,你應該是好去。

6

您無法執行跨域AJAX請求。

I.e.如果您的網站託管在域名A.com上,則無法對B.com執行$ .ajax請求。

其中一個解決方案是在您自己的域上使用服務器端代理腳本。例如,你可以讓PHP向140it發出請求,讓jQuery直接調用你的腳本而不是140it。本文描述了這一點:http://jquery-howto.blogspot.com/2009/04/cross-domain-ajax-querying-with-jquery.html

另一種解決方案是使用JSONP Web服務,它允許您指定回調函數,並且可以通過在您的頁面上附加一個SCRIPT元素來調用它。但是,並非所有API提供者都提供JSONP。

  • 基督教
+2

下面是一些更多的信息:http://en.wikipedia.org/wiki/Cross-site_scripting。 – Blender 2010-12-03 20:45:37