-1

我需要点击给我 JSON 对象的 Web 服务 URL 并使用基本身份验证。如何在 JavaScript 中执行相同的操作。我正在使用下面的代码,但浏览器上没有任何反应。

<html>
<head>
<title>Hello World</title>
<script>

function send_with_ajax()

    var httpRequest = new XMLHttpRequest();
    httpRequest.open("GET", 'url of service', true);
    httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    httpRequest.setRequestHeader("X-Requested-With", "XMLHttpRequest");
    httpRequest.send();

    httpRequest.onload= function() { 
        if (httpRequest.readyState == 4)
        {
            var _tempRecommendations = httpRequest.responseXML;
            window.alert(httpRequest.response);
            window.alert(httpRequest.responseText);
            window.alert(_tempRecommendations);
        }
    };  
};

</script>
</head>
<body onload="send_with_ajax()"></body>
</html>
4

3 回答 3

1

检查 jQuery 以了解此操作。它会导致类似

    $.get("http://yourRestprovider.com/yourResource",function(data){
    //handle your data 
    },"json");

请指定基本身份验证的含义,因为我在您的代码片段中看不到针对服务器进行身份验证的方法!

于 2013-08-04T17:58:51.463 回答
0

(您不需要为此使用 JQuery。)

首先确保内部函数正在运行,所以尝试将函数设置为onreadystatechange而不是onload.

至于身份验证:如果您的域(替换“服务 url”的东西)与脚本所在的页面具有相同的来源,并且您已经在进行某种存储登录会话 cookie 的身份验证,那么您不需要不需要做任何其他事情。

于 2013-08-04T18:17:41.800 回答
-1

嗨,我正在使用下面的代码:之后它只显示浏览器上的加载。

<html><head>
<title>Hello World</title>
<script src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js">
</script>
<script type="text/javascript">

function send_with_ajax()
{

        $.ajax  
        ({  
          type: "GET",  
          url: "https://url with params",  
          dataType: 'json',  
          async: false,  
          username: 'abc',  
          password: 'def',  
          data: '{ "comment" }',  
          success: function (){  
            alert('Success!');   
          }  
        });  
}

</script>
</head>
<body onload="send_with_ajax()"></body>
</html>
于 2013-08-05T13:38:01.577 回答