使用json时,ajax在IE 10上失败

时间:2014-01-09 14:41:19

标签: javascript jquery ajax json internet-explorer

我正在使用ajax调用休息服务。

这一切在Chrome上运行得非常好,但是当从IE 10运行时,ajax调用失败。

我尝试打印错误消息,但我没有得到启发,只是说“未定义”。

永远不会将ajax请求发送到服务器。 我看到帖子用json谈论IE的问题,但还没有找到正确的解决方案。

更多内容(不知道它是否相关):如果我尝试通过IE 10转到服务URL(将URL放在浏览器中),则不显示JSON。相反它问我是否有用想要打开一个文件。

另外:请求是从html文件完成的。 (不在与服务相同的域名下)。

有什么想法吗?

感谢。

   var JSONObject= {
            "login":LogInUserName,
            "password": LogInPassword,
            };


    $.ajax({  
        url:'https .... ',  
        type:'post',
        data :  JSONObject,      
        dataType: 'JSON',
        success: function(data) { 
            if(data.hasOwnProperty('errors'))
                {
                    alert("errors found");
                    alert(data.errors);
                }
            else
                {
                    alert("data sent!");

                }


            }  ,
        error: function (request, status, error)  {
            alert ("error before sending");
            alert(request.responseText);
            location.reload();

        }


    });  

1 个答案:

答案 0 :(得分:-1)

您需要做的第一件事是学会正确调试并成为F12,控制台标签和网络标签的最佳朋友:

本教程展示了Google Chrome,但同样的想法适用于IE或FireFox

1 - 使用console.log()而不是alert()

var JSONObject = {
    "login": LogInUserName,
    "password": LogInPassword // get rid of the comma, stop being lazy
};


$.ajax({
    url: 'https .... ',
    type: 'post',
    data: JSONObject,
    dataType: 'JSON',
    success: function (data) {

        // hit F12 and check the console
        console.log(data); // F off alert()!

    },
    error: function (request, status, error) {

        console.log(request); // F off alert()!
        console.log(status); // F off alert()!
        console.log(error); // F off alert()!

        // don't reload, we have an issue
        // location.reload();

    }


});

2 - 用F12

来舒适

http://www.degraeve.com/reference/simple-ajax-example.php

  • 按F12
  • 转到“网络标签”
  • 在网站上输入内容并点击开始
  • 单击该野兽并检查“响应”或“预览”选项卡中的错误

enter image description here