ワイズリマインダー

Ajaxでオブジェクトを送信する時の注意点

jQuery API Documentation曰く

It is converted to a query string, if not already a string. It's appended to the url for GET-requests. See processData option to prevent this automatic processing. Object must be Key/Value pairs. If value is an Array, jQuery serializes multiple values with same key based on the value of the traditional setting (described below).

contentTypeは’application/json’にする。
dataの値は、JSON文字列にする

$.ajax({
  url		: 'check.php'
 ,type		: 'post'
 ,dataType	: 'json'
 ,data		: {'foo':'bar', 'span':'piyo'}
 ,processData	: false
 ,contentType	: false
})done(function(response, textStatus, xhr){
  console.log(response);
})fail(function(xhr, textStatus, errorThrown){
  console.log('fail');
});

$.ajax({
  url		: 'check.php'
 ,type		: 'post'
 ,dataType	: 'json'
 ,data		: {'foo':'bar', 'span':'piyo'}
})done(function(response, textStatus, xhr){
  console.log(response);
})fail(function(xhr, textStatus, errorThrown){
  console.log('fail');
});

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください