Это единственный способ передать параметр для Cakephp для работы с JQuery Ajax - PullRequest
1 голос
/ 31 мая 2010

Я занимался самообучением, как передавать данные из JQuery Ajax на определенный URL в CakePHP:
Я проверил три набора кодов, первый из которых работал хорошо, но остальные не работали, что меня так смущает.
Могут ли некоторые эксперты здесь сказать, почему второй и третий наборы кодов не смогли передать какие-либо данные?

Набор 1:

<input type=text name="data[User][name]" id="data[User][name]" size="36" maxlength="36"/>
var usr = $("#data\\[User\\]\\[name\\]").val();
$.post(
"http://www.washington.byethost18.com/site1/toavail/"+usr,
function(msg){alert(msg);}
);

Набор 2:

<input type=text name="data[User][name]" id="data[User][name]" size="36" maxlength="36"/>
var usr = $("#data\\[User\\]\\[name\\]").val();
$.post(
"http://www.washington.byethost18.com/site1/toavail/",
 {queryString: ""+usr+""},
 function(msg){alert(msg);}
 );

Набор 3:

<input type=text name="data[User][name]" id="data[User][name]" size="36" maxlength="36"/>
var usr = $("#data\\[User\\]\\[name\\]").val();
$.post(
"http://www.washington.byethost18.com/site1/toavail/",
 usr,
 function(msg){alert(msg);}
);

1 Ответ

1 голос
/ 31 мая 2010

Поскольку вы писали, что работает только первая версия, ваш сервер ожидает URL-адрес типа

http://www.washington.byethost18.com/site1/toavail/paramVal

а не как

http://www.washington.byethost18.com/site1/toavail/

с "queryString = paramVal" или "paramVal" в качестве тела опубликованных данных. Все три версии отправляют со значением переменной usr по-разному.

Небольшое замечание: я рекомендую использовать функцию encodeURIComponent для кодирования данных, которые вы отправляете как часть URL.

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