【发布时间】:2012-10-04 20:40:02
【问题描述】:
我在处理要为其创建搜索功能的网站时遇到了很大的麻烦。这是一个在线游戏中的排名,但是搜索选项对于我的联盟来说是不够的。 因此,我想进行 ajax 调用以获取所需的信息,但根据我的尝试有几个问题:
- 如果我尝试将 ajax 调用作为 JSONP 调用进行,则会在我的 firebug 中出现“无效标签”错误。我已经知道发生此错误是因为检索到的数据未包装到函数调用中。尽管我确实看到了背后的 JSON 数据,但为什么它对我来说如此遥远?
- 如果我尝试使用 jQuery 进行简单的 getJSON 调用,我会收到几个错误,这些错误都指向跨站点脚本的问题。 JSON 数据在另一台服务器上,所以这是个大问题...
我个人能够直接正确打开网站(如 www.onlinegamesite.com/api/?foo=foo&boo=false),如果我能够在浏览器中打开它,为什么我无法打开它纯粹以编程方式工作?
我希望你有想法如何处理它,WWW上有太多关于它的帖子,经过一天的寻找和一次又一次的尝试,我终于希望在这里得到帮助。
编辑:我当前的代码是这个:(尝试 JSONP)
$(document).ready(function() {
var data = $.ajax({
url: "http://lastchaos.gamigo.com/de/ranking/api/?tabNam=realm_4&CurrLang=de&CurrCategorie=user&sEcho=1&iColumns=6&sColumns=&iDisplayStart=0&iDisplayLength=1025&sSearch=&bRegex=false&sSearch_0=&bRegex_0=false&bSearchable_0=true&sSearch_1=&bRegex_1=false&bSearchable_1=true&sSearch_2=&bRegex_2=false&bSearchable_2=true&sSearch_3=&bRegex_3=false&bSearchable_3=true&sSearch_4=&bRegex_4=false&bSearchable_4=true&sSearch_5=&bRegex_5=false&bSearchable_5=true&iSortingCols=1&iSortCol_0=0&sSortDir_0=asc&bSortable_0=true&bSortable_1=true&bSortable_2=true&bSortable_3=true&bSortable_4=true&bSortable_5=true",
dataType: "jsonp"
});
});
我之前的最后一次尝试是一些简单的 JSON 调用,但我无法正确调试它(在 IE 没有适当的调试工具时无法停止 FF 过滤 XSS):
$(document).ready(function() {
var data = $.getJSON({
url: "http://lastchaos.gamigo.com/de/ranking/api/?tabNam=realm_4&CurrLang=de&CurrCategorie=user&sEcho=1&iColumns=6&sColumns=&iDisplayStart=0&iDisplayLength=1025&sSearch=&bRegex=false&sSearch_0=&bRegex_0=false&bSearchable_0=true&sSearch_1=&bRegex_1=false&bSearchable_1=true&sSearch_2=&bRegex_2=false&bSearchable_2=true&sSearch_3=&bRegex_3=false&bSearchable_3=true&sSearch_4=&bRegex_4=false&bSearchable_4=true&sSearch_5=&bRegex_5=false&bSearchable_5=true&iSortingCols=1&iSortCol_0=0&sSortDir_0=asc&bSortable_0=true&bSortable_1=true&bSortable_2=true&bSortable_3=true&bSortable_4=true&bSortable_5=true",
type: "json"
});
});
【问题讨论】:
-
查找同源策略。
-
您应该发布您的代码,以便会员可以看到您的错误在哪里。请改写您的问题以使其简洁/切中要害,并输入您目前遇到问题的 ajax 代码。
-
这是我几周前提出的解决方案:stackoverflow.com/questions/12611469/…
-
@MLM:谢谢!我按照您的代码示例使其正常工作。我从来没有想过这样的解决方法... :o SLaks: 我知道它是什么,无论如何它是关于获取数据的。
标签: jquery ajax json jsonp cross-site