jquery - How to pass array from ajax to php? -
i'm trying pass array ajax php (controller).
what wrong second code var_dump($data) of first code returns appropriate content , second returns null?
first. good.
function myfunction() { var elementy = document.getelementsbyclassname('inputisbn'); var data = elementy[0].value; $.ajax({ url: "{{ path('test') }}", type: "post", data: { "data": data } }); } second. bad
function myfunction() { var elementy = document.getelementsbyclassname('inputisbn'); var data = []; data[elementy[0].name] = elementy[0].value; $.ajax({ url: "{{ path('test') }}", type: "post", data: { "data": data } }); } third. ugly
var elementy = document.getelementsbyclassname('inputisbn'); undefined var data = []; undefined data[elementy[0].name] = elementy[0].value; "667" third 1 line line socond code written in browser console. , it's return should.
edit
and data pulled out here:
<input type="number" class="inputisbn" size="2" name="examplename" value="666" onchange="myfunction()">
when passing array php, want include array indicator: []. thi8nk need object: {}.
function myfunction() { var elementy = $('.inputisbn'); var data = {}; $.each(elementy, function(){ data[$(this).attr('name')] = $(this).val(); }) $.ajax({ url: "{{ path('test') }}", type: "post", data: { "data": data } }); } at point, may want serialize data (as mentioned in other answer @adelphia):
'data': json.stringify(data)
jsfiddle: https://jsfiddle.net/twisty/cw77ann7/
you can call in php: print_r($_post['data']);
Comments
Post a Comment