JSON和JS回调函数

时间:2012-07-28 17:16:29

标签: javascript jquery json callback jsonp

我在理解JS Callbacks方面遇到了一些关于获取和解析JSON信息的问题。

我正在尝试使用此远程代码填充选择下拉列表。

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

          }
        });

如何从控制台返回此错误消息

  

未捕获的ReferenceError:未定义setCategories

我知道如何解析一个简单的json文件,但是这个JS Callback是我不知道的,我不知道如何使用它。

1 个答案:

答案 0 :(得分:3)

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

使用jQuery最好让jQuery管理JSON-P回调的名称,但是对于Web服务关于它所期望的回调函数名称不灵活的情况,你可以通过jsonpCallback param来适应这个问题。在构建AJAX请求时:

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