2012-05-04 33 views
0

您好我試圖從ajax獲取請求調用休息webservice。ajax調用未能執行,同時調用其餘的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

你的代碼全錯了。 假設$.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); 
    } 
} 

參考這裏:https://developer.mozilla.org/En/XMLHttpRequest/Using_XMLHttpRequest

如果您使用跨域調用,在這裏看到: jQuery AJAX cross domain

+0

肯定。我知道,但那對我造成錯誤,那就是爲什麼我測試像這樣。我會發布我用ajax本身嘗試的。 –

+0

我更新了我的答案,現在沒有jQuery。 – WojtekT

+0

我也試過你的更新代碼。在這種情況下,我得到以下錯誤。組件返回失敗代碼:0x80004005(NS_ERROR_FAILURE) [Break On This Error] \t xmlhttp.send(); –