意外的令牌:在ajax调用上

时间:2016-01-10 18:04:49

标签: jquery ajax

我的ajax出了问题,这是我的代码

var sortTable = function() {

  $("#tableid tbody tr").detach().sort(function(a, b) {

    var dataA = $(a).find("td:eq(3)").text().trim();

    var dataB = $(b).find("td:eq(3)").text().trim();

    return parseFloat(dataA.substring(1)) - parseFloat(dataB.substring(

      1));

    }).appendTo('#tableid');

  };

  // var contentType ="application/x-www-form-urlencoded; charset=utf-8";
  //
  // if(window.XDomainRequest) contentType = "text/plain";


  $.ajax({
    beforeSend: function (xhr){
      xhr.setRequestHeader("Content-Type","application/json");
      xhr.setRequestHeader("Accept","application/json");
    },
    type: 'GET',
    crossDomain: true,
    dataType: 'jsonp',
    url: 'Url here' + var,
    success: function(json) {
      //var json = $.parseJSON(data);
      for (var i = 0; i < json.results.length; i++) {
        var section = json.results[i].name;
        var tid = json.results[i].Id.slice(1);
        var price = json.results[i].minPrice;
        var url = json.results[i].url;
        var button =
        "<a class='btn btn-info'>Buy Now</a>";
        $("#tableid").append("<tr><td><img id='theImg' src='/assets/logo.png'/></td><td><b>" + section +
        "</b></td><td><b> In Stock </b></td><td><b>£" + price + "</b></td><td><b>N/A</b></td><td><b>£" + price +"</b></td><td><b>" + button + "</b></td></tr>");
        $("#tableid").find(".btn.btn-info").click(function() {
          location.href = $(this).attr("data-url");
        });
      }
      sortTable();
    },
    error: function(error) {
      console.log(error);
    }
  });

现在,当我尝试加载事物(错误和成功中的调试器)时,调试器在错误功能中激活,说明其状态为200等等(数据在邮递员中被拉回)

在控制台中我得到了

Uncaught SyntaxError: Unexpected token :

我该如何解决这个问题?显然没有任何东西被附加在桌子上。

萨姆

1 个答案:

答案 0 :(得分:0)

如果你正在使用JSONP,那么响应应该是有效的JavaScript代码,如下所示:

callback({a: 1, b: 2});

虽然在你的情况下可能是:

{a: 1, b: 2}