Bu]1 bağlantıda belirtildiği gibi öğreticiyi takip ettim. Aşağıdaki kodda bazı nedenlerden dolayı veriler url'ye parametre olarak eklenmiyor, ancak bunları /?field1="hello"
kullanarak doğrudan url'ye ayarlarsam çalışıyor.
$.ajax({
url: 'superman',
type: 'POST',
data: { field1: "hello", field2 : "hello2"} ,
contentType: 'application/json; charset=utf-8',
success: function (response) {
alert(response.status);
},
error: function () {
alert("error");
}
});
Basit durumlar için jQuery'nin $.post
veya $.get
sözdizimini kullanmanızı tavsiye ederim:
$.post('superman', { field1: "hello", field2 : "hello2"},
function(returnedData){
console.log(returnedData);
});
Başarısız durumları yakalamanız gerekiyorsa, bunu yapın:
$.post('superman', { field1: "hello", field2 : "hello2"},
function(returnedData){
console.log(returnedData);
}).fail(function(){
console.log("error");
});
Ayrıca, her zaman bir JSON dizesi gönderiyorsanız, $.getJSON veya en sonunda bir parametre daha olan $.post kullanabilirsiniz.
$.post('superman', { field1: "hello", field2 : "hello2"},
function(returnedData){
console.log(returnedData);
}, 'json');
GET yöntemini kullanmayı deneyin,
var request = $.ajax({
url: 'url',
type: 'GET',
data: { field1: "hello", field2 : "hello2"} ,
contentType: 'application/json; charset=utf-8'
});
request.done(function(data) {
// your success code here
});
request.fail(function(jqXHR, textStatus) {
// your failure code here
});
POST yöntemi ile URL'de parametreleri göremezsiniz.
Düzenle:
Deprecation Notice: jqXHR.success(), jqXHR.error() ve jqXHR.complete() geri çağrıları jQuery 3.0'dan itibaren kaldırılmıştır. Kullanabilirsiniz bunun yerine jqXHR.done(), jqXHR.fail() ve jqXHR.always().
POST isteğinde]1, parametreler isteğin gövdesinde gönderilir, bu yüzden onları URL'de göremezsiniz.
Eğer onları görmek istiyorsanız, değiştirin
type: 'POST',
için
type: 'GET',
Tarayıcıların, kodunuzun yayınladığı isteklerin tamamını görmenizi sağlayan geliştirme araçlarına sahip olduğunu unutmayın. Chrome'da bu araç "Ağ" panelindedir.