作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
imo 我根据这里的教程做了所有事情 Googles x-site
/**
* 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]
handler.@com.google.gwt.sample.stockwatcher.client.StockWatcher::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"]) {
handler.@com.google.gwt.sample.stockwatcher.client.StockWatcher::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);
}-*/;
但它一直让我失望..所有其他方法也都写好了..我只能理解为什么它每次都告诉我“无法检索 JSON”(它告诉我当处理程序的输入为空时)
顺便说一句,我说的是 google 站点上的“3. 从远程服务器请求数据”
最佳答案
我建议使用 JsonpRequestBuilder
,而不是所有这些 JSNI 代码——没有 JSNI 代码(可能只是一些覆盖类型),更容易调试等。
String url = "http://www.google.com/calendar/feeds/developer-calendar@google.com/public/full" +
"?alt=json-in-script";
JsonpRequestBuilder jsonp = new JsonpRequestBuilder(); // No JSNI!
jsonp.requestObject(url,
new AsyncCallback<Feed>() { // Type-safe!
public void onFailure(Throwable throwable) {
// Easy to debug! (hopefully)
}
public void onSuccess(Feed feed) {
// Success!
}
}
});
关于javascript - GWT JSON 跨站请求失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3431975/
我有一个站点是在 asp.net 中完成的。另一个较新的站点是在 asp.net MVC、LINQ 和 Razor 中完成的。 当我访问旧站点 oldsite/default?userid=243 时
我想提供一段 Javascript 代码,它可以在包含它的任何网站上运行,但它总是需要在托管 Javascript 的服务器上获取更多数据(甚至修改数据)。我知道出于显而易见的原因存在安全限制。 考虑
我是一名优秀的程序员,十分优秀!