【问题标题】:SyntaxError: invalid label and request status 0 when call webserviceSyntaxError: 调用 webservice 时标签和请求状态无效 0
【发布时间】:2012-07-20 14:17:59
【问题描述】:

我想使用 ajax jquery 访问 php web 服务 这是我的代码:-

$.ajax({
        type: "POST",
    url:'http://localhost:8080/onestatus/webservice/login?email=kk@kk.com&password=123456',
         cache: false,
          dataType: "json",
          success: onSuccess
        });

function onSuccess(data) {
       // var data = data.d;
        var result = $.parseJSON(data);
        var arrayObject = new Array();
        for (var i = 0; i < result.user.length; i++) {
           // $('#resultLog').append('<li>' + result.user[i].user_id + '</li>');
         }
    }

当我使用 dataType: "json" 然后我得到 request.status=0 注意到得到响应

当使用 dataType: "jsonp" 在 firbug 中出现错误

语法错误:标签无效 [中断此错误]
{"user":[{"response":"success","user_id":"28","session_id":123456}]}

【问题讨论】:

  • 我们需要看到onSuccess
  • 响应是 JSON,不是 JSONP
  • 提醒一下,使用“for (var i = 0; i
  • 知道我的代码中有什么错误或任何错误
  • 尝试使用dataType: "text"processData : false 属性

标签: jquery ajax web-services


【解决方案1】:

两种情况:

  1. URL http://localhost:8080/onestatus/webservice/login 位于与请求域不同的域中(注意:端口也必须匹配):您将无法请求 JSON,它受到 SOP 的限制
  2. 您可以从其他域请求JSONP,但收到的响应不是 JSONP

那么你可以做什么: 当 Web 服务在您的控制之下时,将响应更改为正确的 JSONP。否则你什么都做不了。

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-31
    • 2013-04-10
    • 2015-06-29
    • 2012-08-06
    相关资源
    最近更新 更多