2015-01-04 48 views
0

與jQuery的,我有麻煩。獲得

我的代碼非常簡單:

$.get('a.html', function(data) { 
    $('.main').html(data) 
}); 

裏面a.html只有:

<p> hi </p> 

它沒有工作,因爲數據是un XMLObject,我修正了它:

$.get('a.html', function(data) { 
    var xmlString = (new XMLSerializer()).serializeToString(data); 
    $('.main').html(xmlString) 
}); 

第一個問題,有誰知道爲什麼第一個代碼不工作?

現在a.html我:

<form action="contactform_submit" method="get" accept-charset="utf-8"> 
    <p>name : </p><input type="text" name="name" placeholder="Your name"> 
    <input type="submit" name="Send" value="Send" id="button"> 
</form> 

這是唯一的工作,如果我脫下輸入標誌和再次爲什麼?

回答

1

的jQuery這種類型的簡單內容加載的提供​​。這:

$.get('a.html', function(data) { 
    $('.main').html(data) 
}); 

變爲:

$('.main').load('a.html'); 

至於您的其他問題(「爲什麼它假定XML?」):jQuery的嘗試自動確定響應的數據類型。該機制取決於服務器發送的Content-Type標頭。

檢查瀏覽器網絡控制檯中的請求,找出服務器發送的內容。它應該發送text/html,如果它發送其他東西,修復您的服務器的配置。

0

您應該通過將dataType屬性設置爲html來告訴jquery期望html。如果dataType未指定,它將嘗試通過解析內容來估計返回類型(xml,json,html)。在你的情況下,它會認爲內容是xml。

請查看文檔http://api.jquery.com/jquery.get/