JSON和JS回调函数

JSON和JS回调函数

问题描述:

我在理解JS回调方面存在一些问题,这些问题涉及获取和解析JSON信息。JSON和JS回调函数

我想要做的是使用此远程代码来填充选择下拉列表。

setCategories({ 
    "categories": ["Billing", "Gameplay", "Bugs", "Rules & Policies", "Technical Support"] 
}); 

上面的代码来自远程.js文件,这是文件的全部内容。此时我无法链接到该文件。

现在我用我所知道的访问JSON信息

$.ajax({ 
      url: "http://web.ccpgamescdn.com/common/frontendtest/categories.js", 
      dataType: 'jsonp', 
      data: data, 
      success: function(data, textStatus, jqxhr) { 
      console.log(data); //data returned 

      } 
     }); 

如何过这个返回我从控制台此错误消息

Uncaught ReferenceError: setCategories is not defined

我知道如何分析一个简单的JSON文件,但这个JS回调超出我的知识,我不知道如何处理这个。

+0

错误告诉它足够明确,我相信。 – Tarik 2012-07-28 17:24:46

函数setCategories实际上是否存在?如果不是,或者它不是全球性的,那就是你的问题。

使用jQuery最好让jQuery管理JSON-P回调的名称,但对于Web服务对于它所期望的回调函数的名称不灵活的情况,您可以通过jsonpCallback param在构建AJAX请求:

$.ajax({ 
    .... 
    jsonpCallback: 'setCategories' 
    .... 
}); 
+0

非常感谢你提供这些信息,它对我们有很大的帮助。你是救生员。我不确定这是如何工作的,但我必须深入探讨这个问题。再次谢谢你! – einar 2012-07-28 17:30:16

+1

没有probs。 JSON-P很早就让很多人感到困惑。我做了一篇关于其工作的详细博客文章(http://www.mitya.co.uk/blog/2012/Mar/JSON-P-what-what-s-not-and-how-works-205)一段时间后,这应该会帮助你看到发生了什么。 – Utkanos 2012-07-28 17:31:15