this]1のリンクに記載されているチュートリアルに従っています。しかし、/?field1="hello"
を使ってデータを直接URLに設定すると動作します。
$.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");
}
});
単純なケースでは、jQueryの$.post
や$.get
の構文を利用することをお勧めします。
$.post('superman', { field1: "hello", field2 : "hello2"},
function(returnedData){
console.log(returnedData);
});
フェイルケースをキャッチする必要がある場合は、このようにすればよい。
$.post('superman', { field1: "hello", field2 : "hello2"},
function(returnedData){
console.log(returnedData);
}).fail(function(){
console.log("error");
});
さらに、常にJSON文字列を送信する場合は、[$.getJSON][3]または$.postを使用して、最後にもう1つパラメータを追加することができます。
$.post('superman', { field1: "hello", field2 : "hello2"},
function(returnedData){
console.log(returnedData);
}, 'json');
GETメソッドを使ってみてください。
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メソッドでは、URLにパラメータが表示されません。
編集します。
Deprecation Notice: jqXHR.success()、jqXHR.error()、および jqXHR.complete() コールバックは jQuery 3.0 で削除されました。使用できるのは jqXHR.done()、jqXHR.fail()、jqXHR.always()を代わりに使用することができます。