Я хочу надіслати рядок як параметр ajax Post.
Наступний код:
$.ajax({
type: "POST",
url: "http://nakolesah.ru/",
data: 'foo=bar&ca$libri=no$libri',
success: function(msg){
alert('wow'+msg);
}
});
Не працює. Чому?
Я хочу надіслати рядок як параметр ajax Post.
Наступний код:
$.ajax({
type: "POST",
url: "http://nakolesah.ru/",
data: 'foo=bar&ca$libri=no$libri',
success: function(msg){
alert('wow'+msg);
}
});
Не працює. Чому?
Відповіді:
Спробуйте так:
$.ajax({
type: 'POST',
// make sure you respect the same origin policy with this url:
// http://en.wikipedia.org/wiki/Same_origin_policy
url: 'http://nakolesah.ru/',
data: {
'foo': 'bar',
'ca$libri': 'no$libri' // <-- the $ sign in the parameter name seems unusual, I would avoid it
},
success: function(msg){
alert('wow' + msg);
}
});
$.ajax({
type: 'POST',
url:'http://nakolesah.ru/',
data:'foo='+ bar+'&calibri='+ nolibri,
success: function(msg){
alert('wow' + msg);
}
});
Я бачу, що вони не зрозуміли вашого запитання. Відповідь: додайте параметр "традиційний" до виклику Ajax таким чином:
$.ajax({
traditional: true,
type: "POST",
url: url,
data: custom ,
success: ok,
dataType: "json"
});
І це буде працювати з параметрами, ПРАВЕНИМИ РЯДКОЮ.
Для подібного додатка мені довелося обернути мій data
об’єкт JSON.stringify()
таким чином:
data: JSON.stringify({
'foo': 'bar',
'ca$libri': 'no$libri'
}),
API працював з клієнтом REST, але не зміг змусити його працювати з jquery ajax у браузері. рішенням був stringify.
Не впевнений, чи це все ще актуально .. лише для майбутніх читачів. Якщо ви дійсно хочете передати свої параметри як частину URL-адреси, вам слід скористатися jQuery.param () .
Я також зіткнувся з цією точною проблемою. Але я отримав рішення, і воно спрацювало чудово. Мені потрібно було передати параметри, які вже створені функцією javascript. Отже нижче код працює для мене. Я використовував ColdFusion для бекенда. Я просто використовував параметри як змінну.
$.ajax({
url: "https://myexampleurl.com/myactionfile.cfm",
type: "POST",
data : {paramert1: variable1,parameter2: variable2},
success: function(data){
console.log(data);
} )};
Я зіткнувся з проблемою передачі значення рядка параметрам рядка в Ajax. Після стільки гуглиння, я придумав власне рішення, як показано нижче.
var bar = 'xyz';
var calibri = 'no$libri';
$.ajax({
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
url: "http://nakolesah.ru/",
data: '{ foo: \'' + bar + '\', zoo: \'' + calibri + '\'}',
success: function(msg){
alert('wow'+msg);
},
});
Тут бар і калібри - це дві рядкові змінні, і ви можете передавати будь-яке значення рядка відповідним рядковим параметрам у веб-методі.
ca$libri=no$libri
. Просто перевірте, щоб бути впевненим тут ... Ви впевнені, що не випадково намагаєтесь використовувати конструкції PHP там, де мають бути JS? Якщо ви хочете включити значення$libri
змінної в цьому рядку, спробуйте наступне:'foo=bar&ca' + $libri + '=no' + $libri
.