Я хочу отправить строку как параметр сообщения ajax.
Следующий код:
$.ajax({
type: "POST",
url: "http://nakolesah.ru/",
data: 'foo=bar&ca$libri=no$libri',
success: function(msg){
alert('wow'+msg);
}
});
Не работает. Зачем?
Я хочу отправить строку как параметр сообщения ajax.
Следующий код:
$.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"
});
И он будет работать с параметрами PASSED AS A STRING.
Для аналогичного приложения мне пришлось обернуть свой 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. После стольких поисков в Google я придумал собственное решение, как показано ниже.
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);
},
});
Здесь bar и calibri - это две строковые переменные, и вы можете передать любое строковое значение в соответствующие строковые параметры в веб-методе.
ca$libri=no$libri
. Просто проверяю, чтобы быть уверенным здесь ... вы уверены, что случайно не пытаетесь использовать конструкции PHP там, где должны быть JS? Если вы хотите включить значение$libri
переменной в этой строке, попробуйте следующее:'foo=bar&ca' + $libri + '=no' + $libri
.