使用JavaScript从Web服务获取JSON

时间:2017-07-06 19:32:38

标签: javascript json ajax

单击HTML中的按钮以使用我的JavaScript时出现此错误。

myapp.azurewebsites.net/:1 Uncaught SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

JS:

function ajaxFunction() {
    console.log("ajaxFunction()");
    var ajaxRequest;
    try {
        ajaxRequest = new XMLHttpRequest();
    } catch(e) {
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
                alert("Broken");
                return false;
            }
        }
    }

    ajaxRequest.onreadystatechange = function () {
        if (ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {

            var form = document.getElementById("myform");
            var titleParagraph = document.getElementById("home_title");
            titleParagraph.innerHTML = ajaxRequest.responseText;

            form.style.display = "none";

        }
    } 

    var value1 = document.getElementById("field1").value;
    var value2 = document.getElementById("field2").value;
    var url = "https://webapp.azurewebsites.net/users/" + value1 + "/" + value2;
    console.log(url);

    // Call sign in web service

    ajaxRequest.open("GET", url, true);
    ajaxRequest.send(null);
    var jsonResponse = JSON.parse(ajaxRequest.responseText);
    console.log("RESPONSE:");
    console.log(jsonResponse);
}

当我转到https://webapp.azurewebsites.net/users/value1/value2

时,我会得到这个JSON
[{"ID":1,"UserName":"username","FirstName":"first","LastName":"last","email":"example@example.com"}]

1 个答案:

答案 0 :(得分:1)

ajaxRequest.open("GET", url, false);

第三个参数表示请求是否是异步的。因此,通过查看您的代码,它应该是同步的。