HTTP在ajax中获取请求

时间:2017-12-07 11:40:38

标签: javascript jquery ajax

我是javascript的新手,我正在尝试使用ajax来发出get请求。我想从响应中获取密码。

Javascript代码:

 $(document).ready(function () {
    $("#LoginUser").click(function () {
        $.ajax({
            url: 'http://website/api/user/Mikkel1337',
            dataType: 'json',
            type: 'GET',
            contentType: 'application/json',

            error: function () {
                alert("An error had occurred");
            },
            success: function (data) {
                var jsonStr = JSON.stringify(data);

                alert(jsonStr['password']);
            }
        });
    });
})

响应JSON代码如下所示:

{"userId":16,"firstName":"mojn","lastName":"mojn","email":"mojn@mojn.dk","accountName":"Mikkel1337","password":"123","userRoleId":1,"active":false,"userRole":null,"competetion":[],"judge":[],"team":[]}

当我运行这个时,我只得到错误功能。任何建议或解决方案表示赞赏:)

3 个答案:

答案 0 :(得分:0)

基本上,您将JSON转换为字符串并尝试将字符串作为对象进行访问。请不要对数据进行字符串化,对于JSON为什么要使用长代码,您的代码应该是:

$(document).ready(function () {
    $("#LoginUser").click(function () {
        $.getJSON( "http://website/api/user/Mikkel1337", function( data ) {
            // do something on success
            alert(data.password);
        });
    });
});

干杯!!!

答案 1 :(得分:0)

不需要JSON.stringify数据简单使用

$(document).ready(function () {
$("#LoginUser").click(function () {
    $.ajax({
        url: 'http://website/api/user/Mikkel1337',
        dataType: 'json',
        type: 'GET',
        contentType: 'application/json',

        error: function () {
            alert("An error had occurred");
        },
        success: function (data) {


            alert(data.password);
        }
    });
});

})

答案 2 :(得分:0)

你应该为错误传递两个参数:function(jqXHR,exception),如下所示。

使用正确的方法检查您的API网址,可能是您的API没有显示正确的结果,并且您没有从该API获取任何数据,因此这可能是您收到错误消息的原因。

 $(document).ready(function () {
            $("#LoginUser").click(function () {         
            $.ajax({
                url: 'http://website/api/user/Mikkel1337',
                dataType: 'json',
                type: 'GET',
                contentType: 'application/json',
                success: function (data) {
                    var jsonStr = JSON.stringify(data); 
                    //also try this way to get JSON data:
                    // var jsonStr =JSON.parse(data);   
                    alert(jsonStr['password']);
                },
                error: function (jqXHR, exception) {
                        alert("An error had occurred");
                },
            });
        });
    });