2016-12-05 9 views
0

配列jqueryのキーの設定方法Jquery、配列キーの設定方法は?

var formData = [ 
    $('input[name=name]').val(), 
    $('input[name=surname]').val(), 
    $('input[name=year_of_birth]').val(), 
    $('input[name=city_of_birth]').val(), 
    $('input[name=university]').val(), 
    $('input[name=insurance_number]').val() 
]; 

JavaScriptでシャーロットDunoisで述べたように、私は、(PHPの連想配列することができますが、それらはJavaScriptで存在しない)配列やオブジェクトがあり、あなたがそこに持っている例を

var formData = ['key' => value], than i get unexpected string 
+1

配列には、javascriptに数字キーしか含めることができません。オブジェクトは文字列をキーとして持つことができます。 –

+0

@Charlotte Dunoisいいえ、データを取得してモデル –

+1

に送信するためにajaxを使用しているため、キー付きの配列を送信する必要があります。これは不可能です。配列**は文字列をキーとして持つことはできません。 Javascriptの制限です。文字列キーが必要な場合は、オブジェクトが移動する方法です。 –

答えて

0

を試していますあなたは、私が秀うでない場合はJSONを(使用している場合

var formdata = { 
    name: $('input[name=name]').val(), 
    surname: $('input[name=surname]').val(), 
    yob: $('input[name=year_of_birth]').val(), 
    cob: $('input[name=city_of_birth]').val(), 
    university: $('input[name=university]').val(), 
    insuranceNumber: $('input[name=insurance_number]').val() 
} 

:あなたがオブジェクトを使用する必要がありますキーを使用したい場合FORMDATA [0-5]でアクセス可能になります

$arr = json_decode($_REQUEST['requestData'], true) //associative array $arr['formdata']['key'] 
$obj = json_decode($_REQUEST['requestData']) //object $arr->formdata->key 

でもPHPはオブジェクトへの連想配列に変換されます:あなたは好みに基づいてオブジェクトまたは連想配列に変換するjson_decodeを使用することができますPHP側のAJAX要求を送信し、それを持っていたら)そのルートを行くggestあなたがjson_encodeを使うとき。なぜなら、連想配列は、オブジェクトがあるPHP以外のものであるとは限らないからです。

関連する問題