我一直在試圖讓這個工作一段時間,我懷疑有一個簡單的解決方案,我找不到。我的頭感覺像果凍,我會很感激任何幫助。PHP,JavaScript,單引號問題,當從ajax post傳遞給javascript函數的變量
我的主要page.php文件作出。員額()來backend.php並獲取城市的列表,它呼應的形式:
<li onclick="script('$data');">$data</li>
名單被取出並置於通過頁面html的()。
我的問題發生在$ data中有一個單引號。 backend.php將該變量傳遞給page.php,但是當我運行html()時,它會拋出一個javascript錯誤(在IE中,顯然不是FF);
')' 預計
IE解析單引號和打亂了劇本() - 調用。我一直試圖以不同的方式重建回顯的字符串,在PHP方面和/或JavaScript方面逃避了's,但是徒勞無功。我必須總共查看腳本嗎?
page.php文件
$.post("backend.php", {q: ""+str+""}, function(data) {
if(data.length >0) {
$('#results').html(data);
}
backend.php
while ($row = $q->fetch()) {
$city = $row['City'];
// $city = addslashes($row['City']);
// $city = str_replace("'","'",$row['City']);
echo "<li onclick=\"script('$city');\">".$city."</li>";
}
你是一個給予較少天賦的男人的上帝:)作品完美,很好的解決方案。 – Mattis 2010-03-12 20:08:27