我目前有一個API,允許消費者通過API密鑰使用。他們可以用cURL或任何其他腳本語言進行調用 - 但他們無法調用查看$ .getJSON()。沒有結果返回,只有一個HTTP 200代碼。允許API的消費者訪問視圖jQuery getJSON
是否需要將crossdomain.xml文件添加到我的服務器的根目錄或者有其他方法嗎?任何幫助將不勝感激。
我目前有一個API,允許消費者通過API密鑰使用。他們可以用cURL或任何其他腳本語言進行調用 - 但他們無法調用查看$ .getJSON()。沒有結果返回,只有一個HTTP 200代碼。允許API的消費者訪問視圖jQuery getJSON
是否需要將crossdomain.xml文件添加到我的服務器的根目錄或者有其他方法嗎?任何幫助將不勝感激。
如果您嘗試在瀏覽器上運行某個JavaScript,請求訪問其他域,則由於same origin policy而無法實現。您可以通過在提供Web內容的域上設置代理來代替JavaScript訪問您的API,從而解決此問題。
crossdomain.xml特定於Flash,不會影響JavaScript。
用$ .getJSON傳遞的回調函數必須滿足兩個條件:
這裏有一個圖:
CLIENT SERVER ------ ------ Makes URL request Looks up function matching this URL Executes asynchonously If found, executes function asynchonously Returns from callback Returns data from server side function, or error
爲什麼可以做到$ .getJSON(「HTTP:/ /api.twitter.com/「,function(data){// something}); ?你應該可以做$ .getJSON到另一個域來獲得結果 - 對嗎? – gregavola