【问题标题】:Ajax and JSONP Uncaught SyntaxError: Unexpected tokenAjax 和 JSONP 未捕获的语法错误:意外的令牌
【发布时间】:2014-04-30 16:18:08
【问题描述】:

我正在尝试从 000webhost 上的主机获取数据

数据是一个 JSONP 文件:

{
  "categories": {
    "category": [
      {
       "name": "Android",
       "parent": "Computer Science",
       "ID": "2323"
      },
      {
      "name": "Java",
      "parent": "Android",
      "ID": "12"
      },
      {
      "name": "HTML",
      "parent": "Android",
      "ID": "32"
      },
      {
      "name": "Javascript",
      "parent": "Android",
      "ID": "4552"
      },
      {
      "name": "CSS",
      "parent": "Android",
      "ID": "4553"
      },
      {
      "name": "Math",
      "parent": "Computer Science",
      "ID": "3778342"
      },
      {
      "name": "JAVA",
      "parent": "Computer Science",
      "ID": "377655"
      },
      {
      "name": "Computer Science",
      "parent": "none",
      "ID": "1"
      }
     ]
  }
}

我试过了:

$(document).ready(function(){

(mainFunction=function(){

$.ajax({

 dataType: 'jsonp',

 data: null,

 jsonp: 'categories',

 url: 'http://blabla.site11.com',

 success: function (response) {


 }
  });

})();

但我总是收到错误:Uncaught SyntaxError: Unexpected token.

我只是想知道如何从http://blabla.site11.com/categories.jsonp 获取 categories.jsonp 文件

【问题讨论】:

  • 听起来服务器不处理 jsonp
  • 你知道,JSONP 需要服务器在 JSON 周围添加一个 JS 函数调用?

标签: javascript jquery ajax json


【解决方案1】:

你的服务器必须返回这个:

categories('<your JSON>');

在您的客户端代码中,您必须有一个 categories() 函数来处理该 JSON(它必须接受它作为参数)。如果您的服务器不这样做,则您正在向您的页面添加一个仅包含 JSON 的脚本,这会导致语法错误。

因此,要么您的服务器本身处理 JSON,要么您必须修改文件的内容,使其符合 JSONP 有效请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-24
    • 2011-11-09
    • 2016-10-09
    • 1970-01-01
    • 2015-09-07
    • 2014-05-27
    • 1970-01-01
    • 2014-12-03
    相关资源
    最近更新 更多