Meskipun saya tahu banyak arsitektur seperti ASP.NET MVC memiliki fungsionalitas bawaan untuk menangani JSON.stringify sebagai contentType situasi saya sedikit berbeda jadi mungkin ini dapat membantu seseorang di masa depan. Saya tahu itu akan menyelamatkan saya berjam-jam!
Karena permintaan http saya sedang ditangani oleh API CGI dari IBM (lingkungan AS400) pada subdomain yang berbeda, permintaan ini berasal dari silang, karenanya jsonp. Saya sebenarnya mengirim ajax saya melalui objek javascript. Berikut adalah contoh dari POST ajax saya:
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
});
dataTypeada hubungannya dengan bagaimana data dikirim. Ini hanya menentukan jenis data yang Anda harapkan telah dikembalikan oleh panggilan. Jika Anda ingin menunjukkan ke server jenis data apa yang Anda tentukan didataproperti, Anda perlu mengaturcontentTypeproperti yang mirip dengancontentType: "application/json"