Ajax-запрос ограничителей для данных, которые будут отправлены - PullRequest
0 голосов
/ 14 августа 2010

У меня есть такая проблема

var url = "index.php?id=123&sid=321";
$.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John&url="+url,
   success: function(msg){
     alert( "Data Saved: " + msg );
   }

Теперь у нас есть URL, который содержит &, но & используется для разделения переменных данных, которые должны быть отправлены на сервер, и поэтому, поскольку у нас есть этот знак в URL, он считает, что это разделитель, и я не получаю полный переменная url.

Может кто-нибудь помочь с мудрым решением.

Спасибо заранее.

Ответы [ 3 ]

2 голосов
/ 14 августа 2010

Передайте объект вместо строки для поля data:

var url = "index.php?id=123&sid=321";
$.ajax({
   type: "POST",
   url: "some.php",
   data: { name: "John", url: url },
   success: function(msg){
     alert( "Data Saved: " + msg );
   }
});
1 голос
/ 14 августа 2010

Поместите ваши данные в формате JSON.

data: {id: '123', sid: '321'}
1 голос
/ 14 августа 2010
var url = 'index.php?id=123&sid=321';

$.ajax({
    type: "POST",
    url: "some.php",
    name: 'John',
    url: url,
    success: function(msg){
        alert( "Data Saved: " + msg );
 });

Было бы лучше упаковать все данные с помощью JSON, как указано выше, и создать URL-адрес на стороне сервера как часть любого сценария, который используется для обработки этого запроса AJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...