1

我有一个登录网络服务,我正在尝试使用 Jquery Ajax 访问。但我无法访问。我使用了很多方法,但没有成功。请帮我

  1. 使用 getJSON

    $("#login").click(function () {
        var url = 'http://localhost:8080/vrm/web_services/login?data=[{"email":"gaurav.gautam@mailinator.com","password":"123456","device_token":"GLKOS58GDG549853JSFJSBMSMSG"}]';
        jQuery.getJSON(url+"&callback=?", function(data) {
        alert("Success" + data.id);
    });
    
  2. 使用 .ajax()

    var markers = [{ "email": "gaurav.gautam@mailinator.com", "password": "123456","device_token":"GLKOS58GDG549853JSFJSBMSMSG" }]
    $.ajax( {
      //  url: 'http://localhost:8080/vrm/web_services/login?data=[{"email":"gaurav.gautam@mailinator.com","password":"123456","device_token":"GLKOS58GDG549853JSFJSBMSMSG"}]',
      uri:'http://localhost:8080/vrm/web_services/login',
      type: "GET",
        contentType: "application/json; charset=utf-8",
        dataType: "jsonp",
        data:  JSON.stringify({ data: markers }),
        processdata:true,
        jsonpCallback: 'mycallback',
        success : function(data) {
    
           var json = $.parseJSON(data);
           $('#items').html(json);
           alert(json);
    
        },
        error : function(req, status, ex) {
    
          alert("Lol" + ex);
    
        }
        });
    

我也使用了 dataType: "json" 但没有得到 request.status 0 并且当使用 dataType: "jsonp" 得到错误 'invalid label'

4

2 回答 2

0

ajax不允许跨域..

我有 1 种方法来解决这个问题:

用js创建了一个脚本标签,像这样:

var sc=document.createElement('script');
var url="http://localhost:8080/vrm/web_services/login?data=[{"email":"gaurav.gautam@mailinator.com","password":"123456","device_token":"GLKOS58GDG549853JSFJSBMSMSG"}]";
sc.setAttribute('src',url);
document.body.appendChild(src);
于 2012-07-19T04:59:48.860 回答
0

一方面,如果你指定 dataType: "json" 那么你就不需要$.parseJSON(data)调用,jQuery 会自动解析 JSON 并data成为一个 JavaScript 对象(当然,成功时)。

我建议在 Firefox 或 Safari 或 Chrome 的开发工具中使用 Firebug(在 Safari 中,转到首选项,高级,选中“在菜单栏中显示开发菜单”。然后开发菜单 -> 显示错误控制台)。然后,您可以插入日志语句,例如console.log(data)查看返回的内容,或查找控制台中打印的错误。您还可以转到开发人员检查器中的网络选项卡以查看通过网络发送的内容。这应该可以帮助您缩小问题的范围。

于 2012-07-19T04:45:54.787 回答