ในขณะที่ฉันรู้สถาปัตยกรรมหลายอย่างเช่น ASP.NET MVC มีฟังก์ชันการทำงานในตัวเพื่อจัดการ JSON.stringify เนื่องจาก contentType สถานการณ์ของฉันแตกต่างกันเล็กน้อยดังนั้นบางทีนี่อาจช่วยคนในอนาคต ฉันรู้ว่ามันจะช่วยให้ฉันชั่วโมง!
เนื่องจากคำขอ HTTP ของฉันถูกจัดการโดย CGI API จาก IBM (สภาพแวดล้อม AS400) ในโดเมนย่อยที่แตกต่างกันคำขอเหล่านี้จึงเป็นจุดกำเนิดไขว้ดังนั้น jsonp ฉันส่งอาแจ็กซ์ของฉันผ่านทางวัตถุจาวาสคริปต์ นี่คือตัวอย่างของ Ajax POST ของฉัน:
var data = {USER : localProfile,
INSTANCE : "HTHACKNEY",
PAGE : $('select[name="PAGE"]').val(),
TITLE : $("input[name='TITLE']").val(),
HTML : html,
STARTDATE : $("input[name='STARTDATE']").val(),
ENDDATE : $("input[name='ENDDATE']").val(),
ARCHIVE : $("input[name='ARCHIVE']").val(),
ACTIVE : $("input[name='ACTIVE']").val(),
URGENT : $("input[name='URGENT']").val(),
AUTHLST : authStr};
//console.log(data);
$.ajax({
type: "POST",
url: "http://www.domian.com/webservicepgm?callback=?",
data: data,
dataType:'jsonp'
}).
done(function(data){
//handle data.WHATEVER
});
dataType
ไม่มีผลต่อวิธีการที่ข้อมูลจะถูกส่งไป มันเป็นเพียงการระบุชนิดของข้อมูลที่ถูกคุณคาดว่าจะได้กลับมาจากการเรียกร้อง หากคุณต้องการระบุให้เซิร์ฟเวอร์ทราบว่าคุณใช้ข้อมูลประเภทใดในdata
คุณสมบัติคุณต้องตั้งค่าcontentType
คุณสมบัติคล้ายกับcontentType: "application/json"