Я вижу , что вы являетесь разработчиком PHP и я также вижу , что вы сделали это: ca$libri=no$libri. Просто проверяю, чтобы быть уверенным здесь ... вы уверены, что случайно не пытаетесь использовать конструкции PHP там, где должны быть JS? Если вы хотите включить значение $libriпеременной в этой строке, попробуйте следующее: 'foo=bar&ca' + $libri + '=no' + $libri.
treeface
nono :) я понимаю все моменты генерации js на php :) это имена переменных ajax в APS. Я создаю парсер, который разбирает какой-то сайт с помощью ajax. И теперь я понял, почему ошибка. Это междоменный запрос. Я должен сначала создать запрос к моему серверу :)
Миргород
Ответы:
182
Попробуйте вот так:
$.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);}});
вот почему я пришел сюда, чтобы узнать, как отправить данные $ .post в виде строки. принятый ответ мне в этом не помогает. Спасибо.
chiliNUT
Согласен, у меня тоже была ситуация, когда для разрабатываемого мной фреймворка требовалась строка, хороший ответ. В моей ситуации я смог выполнить эту работу, поместив строку в переменную рядом с data :, формат моей строки был '? Var = value & var2 = value2'
Джозеф Астрахан
13
Я вижу, что они не поняли вашего вопроса. Ответ: добавьте "традиционный" параметр к вашему вызову ajax следующим образом:
Не уверен, но некоторые символы в ответе не должны считаться строками, если не принудительно.
Дилан Валад
4
Не уверен, актуально ли это до сих пор ... только для будущих читателей. Если вы действительно хотите передать свои параметры как часть 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
.Ответы:
Попробуйте вот так:
источник
источник
Я вижу, что они не поняли вашего вопроса. Ответ: добавьте "традиционный" параметр к вашему вызову ajax следующим образом:
И он будет работать с параметрами PASSED AS A STRING.
источник
Для аналогичного приложения мне пришлось обернуть свой
data
объектJSON.stringify()
следующим образом:API работал с клиентом REST, но не мог заставить его работать с jquery ajax в браузере. stringify был решением.
источник
Не уверен, актуально ли это до сих пор ... только для будущих читателей. Если вы действительно хотите передать свои параметры как часть URL-адреса, вам, вероятно, следует использовать jQuery.param () .
источник
Это не прямой ответ на ваш вопрос .. Но следующий синтаксис - единственный, который у меня работал -
И имя параметра совпадает с аргументом серверного метода
источник
Я тоже столкнулся с этой проблемой. Но у меня есть решение, и оно отлично сработало. Мне нужно было передать параметры, которые уже созданы функцией javascript. Итак, приведенный ниже код работает для меня. Я использовал ColdFusion для бэкэнда. Я просто напрямую использовал параметры как переменную.
источник
Я столкнулся с проблемой передачи строкового значения строковым параметрам в Ajax. После стольких поисков в Google я придумал собственное решение, как показано ниже.
Здесь bar и calibri - это две строковые переменные, и вы можете передать любое строковое значение в соответствующие строковые параметры в веб-методе.
источник