1
我正在對返回部分視圖的控制器中的操作進行ajax調用。部分視圖是一個將被追加的行,或者它將替換項目網格中的現有行(取決於我是否添加或編輯行項目)。 在從谷歌Chrome網絡選項卡我得到HTML的正確的字符串,如:Ajax調用後的HTML響應被剝離了一些標籤
<tr class="" data-id="1c4daceb-2afb-413b-8adc-d20b4d8969e5">
<td><img style="width:100px; height:100px;" src="http://localhost/Project/6b39488b-db2d-495e-957c-ede0eb462292.png" data-id="1c4daceb-2afb-413b-8adc-d20b4d8969e5"/></td>
<td>bvcbvX</td>
<td>6b39488b-db2d-495e-957c-ede0eb462292.png</td>
</tr>
,但在我的Ajax成功功能:
function onDataEdited(data, status, xmlhttp) {
alert(data);
}
我得到的行剝離和標籤,這樣:
<img style="width:100px; height:100px;" src="http://localhost/Project/6b39488b-db2d-495e-957c-ede0eb462292.png" data-id="1c4daceb-2afb-413b-8adc-d20b4d8969e5"/>
bvcbvX
6b39488b-db2d-495e-957c-ede0eb462292.png
所以,從jQuery的東西剝離我的標籤只留下內容。
的行動呼籲是通過Ajax這樣做:
function MakeAjaxCall() {
$('#myForm').ajaxForm({
iframe: true, ---> here is needed since I am adding a file upload from my form
beforeSubmit: function() {
if (!$('#myForm').valid())
//process validation
return $('#myForm').valid();
},
success: function (data, status, xmlhttp) {
if (xmlhttp.getResponseHeader('ErrorHeader') == null ||
xmlhttp.getResponseHeader('ErrorHeader') == "") {
//process success
}
else {
//process error
}
},
error: function (xhr, textStatus, errorThrown) {
alert(xhr);
}
});
}
誰能告訴我怎麼把我的響應數據不被剝奪的和標籤?
我使用這個jquery插件(malsup.com/jquery/form)使表單「ajaxified」,以便通過Ajax提交包含文件的表單。 這個插件的'ajaxForm'方法只有'xml','json','script'和null - (我正在使用)作爲dataType,響應是stil剝離了'xml'的標籤。如果我設置了'json'或'script',它會拋出一個客戶端錯誤,指明它無法解析響應(正在試圖將它解析爲腳本,當它是html)時。
嘗試使用'$ .post()'而不是'.ajaxForm' –
我需要使用ajaxForm,因爲我也在提交表單時加載圖像,我需要將iFrame設置爲true。無論如何,我在網絡中收到的響應(在Chrome中)正是我需要的,但在此之後,它被刪除了
回答
可能是數據類型的問題:http://malsup.com/jquery/form/#options-object?
來源
2013-10-03 11:47:30
我已經嘗試過'json'和'script'for dataType,它會拋出客戶端錯誤。對於'xml'它可以解析響應(沒有錯誤被拋出)。如果我沒有爲dataType指定任何東西(默認行爲),我會得到精簡的響應。 –
對於'xml'我可以解析響應,但仍然沒有HTML標籤。 –
jQuery在ajax調用中也有數據類型的文本和html。嘗試「HTML」,看看是否有用? –
相關問題