Вы должны кодировать / экранировать их.
В PHP вы можете сделать это с помощью функции urlencode()
:
$string = urlencode($string);
Так в вашем коде, сделайте это:
data: "catID=<?= urlencode($catID) ?>" + "&catName=<?= urlencode($catName) ?>",
Или даже лучше:
data: <?=json_encode(array('catID' => $catID, 'catName' => $catName))?>,
(jQuery позволяет напрямую передавать хэш пар ключ-значение, поэтому jQuery может позаботиться о экранировании для васЗдесь json_encode
форматирует ваш массив способом, понятным javascript).
В javascript вы можете сделать это с помощью функции encodeURIComponent ():
var escaped_string = encodeURIComponent(str);
Но так как вы используете jQuery, вы также можете передавать переменные напрямую с помощью хеша.
Вместо этого:
$.ajax({
data: "a=b&c=d",
...
});
Сделайте это:
$.ajax({
data: {a: "b", c: "d"},
...
});
И jQuery избавится от всего для вас.