0

嗨,我试图从 ajax 获取请求中调用休息网络服务。

以下是我为此尝试的代码。

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);
               }
        });

在上述情况下,控制进入错误块,但我不明白这是什么原因。这就是我尝试第一种情况的原因。

这段代码有什么问题吗??有人可以帮忙吗?

4

1 回答 1

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);
    }
}

参考这里:使用 XMLHttpRequest

如果您使用跨域调用,请参见此处: jQuery AJAX 跨域

于 2012-05-04T09:19:09.167 回答