1
很長一段時間我一直在使用下面的代碼來動態構建一個字符串,它表示要在ajax調用中使用的鍵值對。動態構建包含html的ajax調用的數據字符串
這對我最初的簡單需求來說工作得很好。
// make an array of strings representing key value pairs
var feedback = ['var1=val1', 'var2=val2', 'var3=val3' ];
// join each pair with "&" seperating them
var dataString = feedback.join('&');
// make an ajax call
$.ajax({
type: "POST",
url: "_php/feedback.php",
data: dataString, //pass in the built vars
success: function() {
// do stuff...
}
});
我現在有必要發送html作爲數據字符串中的值。我注意到的第一件事是含「&」將是一個問題,所以我做了使用var2=<span> val2<span>
一個簡單測試,HTML:
// make any array of strings representing key value pairs
var feedback = ['var1=val1', 'var2=<span> val2<span>', 'var3=val3' ];
// join each pair with "&" seperating them
var dataString = feedback.join('&');
// amke an ajax call
$.ajax({
type: "POST",
url: "feedback.php",
data: dataString, //pass in the built vars
success: function(info) {
$('#result').html(info);
}
});
然後在我的PHP頁面:
<?php
$var1=$_POST['var1'];
$var2=$_POST['var2'];
$var3=$_POST['var3'];
echo $var1.'<br>'.$var2.'<br>'.$var3.'<br>';
?>
我想腳本返回:
val1<br><span> val2<span><br>val3<br>
但是,正如我懷疑,返回輸出爲:
val1<br><span><br>val3<br>
就讓我們來看看在檢查顯示:
我如何動態地創建一個字符串中的AJAX調用,包含HTML與data: dataString,
使用?
我試過尋找這個,但我能找到的是「如何發送一個html格式的發佈數據」,這顯然無濟於事。
不幸的是,這將返回相同的'VAL1
VAL3
' – DelightedD0D 2015-02-06 07:43:12
@ DelightedD0D你必須清除瀏覽器的緩存:用戶按Ctrl + R – 2015-02-06 07:47:29
我曾嘗試,我甚至在不同的瀏覽器試圖完全,相同結果。在我將它們連接在一起之前,我是否需要對字符串的部分進行編碼? – DelightedD0D 2015-02-06 07:52:42