2013-05-31 15 views
0

Main.php怎麼看的數據內容使用jQuery AJAX從服務器發回

<!DOCTYPE html> 
    <html> 
    <head> 
    <title>Lesson 21: Easy AJAX Calls with jQuery</title> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.min.js"></script> 
    </head> 
    <body> 
    <h1>Lesson 21: Easy AJAX Calls with jQuery load()</h1>  
    <p><a href="#">Click here to fetch HTML content</a></p>  
    <div id="result">  
    </div>  
    <script type="text/javascript"> 
    $(document).ready(function()   
     { 
      var url = "lesson18_test.xml"; 
      function processData(data)  
       {  
        var resultStr = ""; 
        var items = $(data).find('language'); 
        $(items).each(function(i)  
         { 
          resultStr += $(this).text() + '<br />';  
          $('#result').html(resultStr);  
         });  
     }  
    $('a').click(function()  
        { 
         $.get(url, processData);   
        });  
     });  
    </script>   
    </body> 
    </html> 

lesson18_test.xml

<?xml version="1.0" ?> 
<languages> 
<language>PHP</language> 
<language>Ruby On Rails</language> 
<language>C#</language> 
<language>JavaScript</language> 
</languages> 

上面的代碼是從一個教程在這裏:http://www.html.net/tutorials/javascript/lesson21.php

問題:

有沒有一種方法可以查看數據中的內容?我試過alert(data),它只顯示'object XMLobject'。我知道內部數據是lesson18_test.xml,但只是想看看它是如何在數據結構。

+0

如果您在'data'上嘗試它,警報將只顯示整個數據。嘗試更進一步,如'$(data).find('language:first')。text()' – krishgopinath

+0

或者,您可以使用斷點並在那裏檢查。您的整個XML數據將位於'innerText'屬性中,我認爲(不太確定) – krishgopinath

+1

爲什麼不使用瀏覽器的開發者工具,如Chrome的開發工具或FireFox中的Firebug?您可以看到變量的內容以及網絡上發送的實際消息。 –

回答

0

使用jqXHR對象來獲取responseXMLresponseText性能低於

$(document).ready(function() { 
    var url = "lesson18_test.xml"; 
    function processData(data, textStatus, jqXHR) {  
     alert(jqXHR.responseText); 
     console.log(jqXHR.responseText) 
     var resultStr = ""; 
     var items = $(data).find('language'); 
     $(items).each(function(i)  
         { 
          resultStr += $(this).text() + '<br />';  
          $('#result').html(resultStr);  
         });  
    }  
    $('a').click(function()  
       { 
        $.get(url, processData);   
       });  
}); 
0

嘗試alert(data.responsetext)這將顯示您的數據,而正在建造的一個對象

2

給出您可能會發現$的使用。阿賈克斯更容易(我做,提供更多的自由定製它,個人喜好的事情):

http://api.jquery.com/jQuery.ajax/

$.ajax(
{ 
    type: "POST", 
    url: "/asdfasdf", 
    data: "foo=bar&name=cookiemonster",   
    // alternatively: data: { foo: "bar", name: "cookiemonster" }, 

    timeout: 5000, /* 5sec */ 

    success: function(data) 
    { 
    }, 
    error: function(fa,il,ure) 
    { 
      // yay error handler 
     alert(fa + "\n" + il + "\n" + ure); 
    }, 
    statuscode: { 404: function() { alert('Not found'); /* another way to handle errors */ } 

}); 
+1

+1 fa-il-ure :) – krishgopinath

+2

如果您遇到過包含'try {to(); } catch(em){/ * all * /}',這是我隱藏的簽名。 :P –

相關問題