我需要点击提供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>
答案 0 :(得分:1)
检查jQuery以执行此操作。这会产生类似
的结果 $.get("http://yourRestprovider.com/yourResource",function(data){
//handle your data
},"json");
请说明您对基本身份验证的意思,因为我看不到您的代码段中对服务器进行身份验证的方法!
答案 1 :(得分:0)
(你不需要JQuery。)
首先确保内部函数正在运行,因此请尝试将函数设置为onreadystatechange
而不是onload
。
对于身份验证:如果您的域(替换'url of service'的域)与脚本所在的页面具有相同的来源,并且您已经在进行某种存储登录会话cookie的身份验证,你不需要做任何其他事情。
答案 2 :(得分:-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>