2013-08-06 29 views
0

大家好,我遇到問題了。用jQuery製作ajax請求。這是錯誤的。我嘗試刪除一些包含'換行符,雙引號等'的變量。沒有錯誤,一切都很好。如何解決這個問題?jQuery:由於換行符和某些字符而導致ajax返回錯誤

$.ajax({ 
    url: 'layout/owner/required/processing/get-product-data.php', 
    cache: false, 
    data: {idStr: thisProduct} 
}); 

和請求的PHP文件是:

<?php 
header('Content-type: text/javascript'); 

$printData = ' 
var editData = { 
    cat: "' . $cat . '", 
    subcat: "' . $subcat . '", 
    id: "' . $id . '", 
    name: "' . $name . '", 
    description: "' . $description . '", 
    price: "' . $price . '", 
    dlong: "' . $long . '", 
    dwidth: "' . $width . '", 
    dheight: "' . $height . '", 
    spec: "' . $spec . '", 
    fac: "' . $fac . '", 
    rp: "' . $rp . '", 
    cm: "' . $cm . '", 
    color: "' . $color . '" 
}; 
'; 

echo $printData; 
?> 

editData.description,editData.spec,editData.fac都包含輸入/斷行字符,uhmm說,他們包含HTML

回答

3

把它們在PHP關聯數組中,然後使用json_encode輸出該數組。這將確保字符串中的字符得到妥善處理。

例如,像這樣:

<?php 
header('Content-type: text/javascript'); 
$a = array(
    cat => $cat, 
    subcat => $subcat, 
    id => $id, 
    name => $name, 
    description => $description, 
    price => $price, 
    dlong => $long, 
    dwidth => $width, 
    dheight => $height, 
    spec => $spec, 
    fac => $fac, 
    rp => $rp, 
    cm => $cm, 
    color => $color 
); 
echo 'var editData = ' . json_encode($a) . ';'; 
?> 
+0

請告訴我一些示例:(@ TJ-克羅德 –

+0

好嗎...... 1分鐘,我會嘗試這個在幾秒鐘內,並再次回來 –

+0

它的工作原理先生!它的工作!!!非常感謝你 –

相關問題