ฉันต้องการส่งสตริงเป็นพารามิเตอร์ 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"
});
และจะทำงานกับพารามิเตอร์ PASSED AS A STRING
สำหรับแอปพลิเคชันที่คล้ายกันฉันต้องห่อdata
วัตถุด้วยJSON.stringify()
สิ่งนี้:
data: JSON.stringify({
'foo': 'bar',
'ca$libri': 'no$libri'
}),
API ทำงานกับไคลเอนต์ REST แต่ไม่สามารถทำให้มันทำงานกับ jquery ajax ในเบราว์เซอร์ stringify คือทางออก
ไม่แน่ใจว่ายังคงเป็นจริง.. สำหรับผู้อ่านในอนาคต หากสิ่งที่คุณต้องการจริงๆคือการผ่านพารามิเตอร์ของคุณเป็นส่วนหนึ่งของ URL คุณอาจจะใช้ jQuery.param ()
ไม่ใช่คำตอบโดยตรงสำหรับคำถามของคุณ .. แต่ต่อไปนี้เป็นไวยากรณ์เดียวที่ใช้สำหรับฉัน -
data: '{"winNumber": "' + win + '"}',
และชื่อพารามิเตอร์ตรงกับอาร์กิวเมนต์ของเมธอดเซิร์ฟเวอร์
ฉันก็ประสบปัญหานี้เช่นกัน แต่ฉันมีวิธีแก้ปัญหาและทำงานได้อย่างสมบูรณ์ ฉันต้องการส่งผ่านพารามิเตอร์ที่สร้างขึ้นโดยฟังก์ชันจาวาสคริปต์แล้ว ดังนั้นโค้ดด้านล่างจึงใช้ได้สำหรับฉัน ฉันใช้ColdFusionสำหรับแบ็กเอนด์ ฉันเพิ่งใช้พารามิเตอร์เป็นตัวแปรโดยตรง
$.ajax({
url: "https://myexampleurl.com/myactionfile.cfm",
type: "POST",
data : {paramert1: variable1,parameter2: variable2},
success: function(data){
console.log(data);
} )};
ฉันประสบปัญหาในการส่งค่าสตริงไปยังพารามิเตอร์สตริงใน Ajax หลังจาก googling ไปมากฉันได้คิดวิธีแก้ปัญหาที่กำหนดเองดังต่อไปนี้
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