Tôi muốn gửi một chuỗi dưới dạng tham số ajax Post.
Đoạn mã sau:
$.ajax({
type: "POST",
url: "http://nakolesah.ru/",
data: 'foo=bar&ca$libri=no$libri',
success: function(msg){
alert('wow'+msg);
}
});
Không hoạt động. Tại sao?
Tôi muốn gửi một chuỗi dưới dạng tham số ajax Post.
Đoạn mã sau:
$.ajax({
type: "POST",
url: "http://nakolesah.ru/",
data: 'foo=bar&ca$libri=no$libri',
success: function(msg){
alert('wow'+msg);
}
});
Không hoạt động. Tại sao?
Câu trả lời:
Hãy thử như thế này:
$.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);
}
});
Tôi thấy rằng họ không hiểu câu hỏi của bạn. Câu trả lời là: thêm tham số "truyền thống" vào lệnh gọi ajax của bạn như sau:
$.ajax({
traditional: true,
type: "POST",
url: url,
data: custom ,
success: ok,
dataType: "json"
});
Và nó sẽ hoạt động với các thông số ĐÃ ĐƯỢC CHUYỂN NHƯ MỘT DÂY CHUYỀN.
Đối với một ứng dụng tương tự, tôi phải bọc datađối tượng của mình bằng JSON.stringify()như sau:
data: JSON.stringify({
'foo': 'bar',
'ca$libri': 'no$libri'
}),
API đang làm việc với một ứng dụng khách REST nhưng không thể khiến nó hoạt động với jquery ajax trong trình duyệt. stringify là giải pháp.
Không chắc liệu điều này có còn thực tế hay không .. chỉ dành cho độc giả trong tương lai. Nếu điều bạn thực sự muốn là chuyển các tham số của mình như một phần của URL, bạn có thể nên sử dụng jQuery.param () .
Tôi cũng đã phải đối mặt với vấn đề chính xác này. Nhưng tôi đã có một giải pháp và nó hoạt động hoàn hảo. Tôi cần phải chuyển các tham số đã được tạo bởi hàm javascript. Vì vậy, mã dưới đây đang làm việc cho tôi. Tôi đã sử dụng ColdFusion cho phần phụ trợ. Tôi chỉ trực tiếp sử dụng các tham số như một biến.
$.ajax({
url: "https://myexampleurl.com/myactionfile.cfm",
type: "POST",
data : {paramert1: variable1,parameter2: variable2},
success: function(data){
console.log(data);
} )};
Tôi đang gặp phải vấn đề trong việc chuyển giá trị chuỗi sang tham số chuỗi trong Ajax. Sau rất nhiều googling, tôi đã đưa ra một giải pháp tùy chỉnh như bên dưới.
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);
},
});
Ở đây, bar và calibri là hai biến chuỗi và bạn có thể chuyển bất kỳ giá trị chuỗi nào cho các tham số chuỗi tương ứng trong phương thức web.
ca$libri=no$libri. Chỉ cần kiểm tra để chắc chắn ở đây ... bạn có chắc là mình không vô tình cố gắng sử dụng các cấu trúc PHP nơi các cấu trúc JS nên là? Nếu bạn muốn bao gồm giá trị của$libribiến vào chuỗi này, hãy thử này:'foo=bar&ca' + $libri + '=no' + $libri.