您好我试图从ajax get请求中调用rest webservice。
以下是我为此尝试的代码。
function callRestService(){
var xmlhttp;
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
$.ajax({
xmlhttp.open("GET","http://mywebservice/test/",false);
xmlhttp.send();
alert(xmlhttp.responseText);
});
}
运行此代码时出现以下错误/
missing : after property id
[Break On This Error]
xmlhttp.open("GET","http://mywebservice/test..
/AjaxC...ervice/ (line 30, col 13)
在第一种情况下,我尝试了类似下面的内容
$.ajax({
type: "GET",
url: "http://mywebservice/test/",
cache: false,
success: function(data){
alert(data);
//var obj = eval(data);
},
error: function (msg, url, line) {
alert('error trapped in error: function(msg, url, line)');
alert('msg = ' + msg + ', url = ' + url + ', line = ' + line);
}
});
并在上面的情况下控制进入错误块,但我没有得到这是什么原因。这就是为什么我尝试了第一个案例。
此代码有任何问题.. ??任何人都可以提供帮助。?
答案 0 :(得分:0)
你的代码都错了。
假设$.ajax
是jQuery ajax调用,那么您的代码应如下所示:
function CallRestService() {
$.ajax({url:'http://mywebservice/test'}).done(function(data) {
alert(data);
})
);
}
如果您正在使用jquery ajax调用,则无需创建xml http请求。 见:http://api.jquery.com/jQuery.ajax 供参考。
如果你不想使用jQuery:
function callRestService(){
var xmlhttp;
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","http://mywebservice/test/",false);
xmlhttp.send();
if (xmlhttp.status == "200") {
alert(xmlhttp.responseText);
}
}
参考此处:Using XMLHttpRequest
如果您使用的是跨域通话,请参阅此处: jQuery AJAX cross domain