Все, у меня проблема. Выполнение запроса ajax с помощью jQuery. Это была ошибка. Я пытаюсь удалить переменную, которая содержит «разрыв строки, двойные кавычки и т. Д.». И никаких ошибок, все в порядке. Как это решить?

$.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 содержат символ ввода / перевода строки, ммм сказал, что они содержат html

0
Slamet Bedjo 6 Авг 2013 в 10:45

1 ответ

Лучший ответ

Поместите их в ассоциативный массив 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) . ';';
?>
3
T.J. Crowder 6 Авг 2013 в 10:47
Хорошо ... 1 минута, я попробую это через секунды, и вернусь снова
 – 
Slamet Bedjo
6 Авг 2013 в 10:53