2
IMO我按照這裏的教程Googles x-siteGWT JSON跨站點請求失敗
/**
* Make call to remote server.
*/
public native static void getJson(int requestId, String url,
StockWatcher handler) /*-{
var callback = "callback" + requestId;
// [1] Create a script element.
var script = document.createElement("script");
script.setAttribute("src", url+callback);
script.setAttribute("type", "text/javascript");
// [2] Define the callback function on the window object.
window[callback] = function(jsonObj) {
// [3]
[email protected]::handleJsonResponse(Lcom/google/gwt/core/client/JavaScriptObject;)(jsonObj);
window[callback + "done"] = true;
}
// [4] JSON download has 1-second timeout.
setTimeout(function() {
if (!window[callback + "done"]) {
[email protected]::handleJsonResponse(Lcom/google/gwt/core/client/JavaScriptObject;)(null);
}
// [5] Cleanup. Remove script and callback elements.
document.body.removeChild(script);
delete window[callback];
delete window[callback + "done"];
}, 1000);
// [6] Attach the script element to the document body.
document.body.appendChild(script);
}-*/;
但它一直沒有我..所有其他methos也被寫入一切正常..我只是可以理解爲什麼它告訴我每一個「無法檢索JSON」時間(這是說,當處理程序的輸入爲null)
順便說一句我說的是在谷歌網站
我試過了。 它工作的靜態文件,但在動態json文件的情況下,它總是失敗。 有什麼想法? – user365314 2010-08-09 07:15:36
您*負責在服務器端生成JSON文件嗎?那麼也許這是一個錯誤:D(沒有進攻;))無論哪種方式,嘗試通過瀏覽器或wget下載動態和靜態文件,並比較和驗證它們:http://www.jsonlint.com/是一個很棒的JSON驗證器。另外:「它總是失敗」 - 你能更具體地說明它是如何「失敗」的? :d – 2010-08-09 09:43:47