ajaxを使用してLaravelコントローラの関数にobjs配列を渡そうとしています。私はポストの後にいかなるデータも受け取っていません。私のコントローラ機能でJavaScript配列をビューからLaravelコントローラに渡す
<script>
var itemCount = 0;
var objs=[];
$(document).ready(function(){
var temp_objs=[];
$("#add_button").click(function() {
var html = "";
var obj = {
"ROW_ID": itemCount,
"STREET_ADDRESS": $("#street_address").val(),
"CITY": $("#city").val(),
"ZIP": $("#zip").val()
}
// add object
objs.push(JSON.stringify(obj));
itemCount++;
// dynamically create rows in the table
html = "<tr id='tr" + itemCount + "'><td>" + obj['STREET_ADDRESS'] + "</td> <td>" + obj['CITY'] + " </td> <td>" + obj['ZIP'] + " </td><td><input type='button' id='" + itemCount + "' value='remove'></td> </tr>";
//add to the table
$("#multiple_table").append(html)
// The remove button click
$("#" + itemCount).click(function() {
var buttonId = $(this).attr("id");
//write the logic for removing from the array
$("#tr" + buttonId).remove();
});
});
$("#submit").click(function() {
$.ajax({
url:'/app/Http/Controllers/Search/search_address',
type: 'POST',
dataType:'json',
contentType: 'application/json',
data: objs
});
});
});
</script>
私はアヤックスでURLに問題があると私は、コントローラのURLを取得する方法を確認していないことを推測し、この
public function search_address(){
$data = json_decode($_POST['data'], true);
print_r($data);
}
のようなものです。それが動作するかどうかを参照してくださいuse Input;
あなたclass extends Controller
上:
$data = json_decode($_POST['data'], true);
へ:
$data = json_decode(Input::get('data'));
、あなたが持っていることを確認してください
は
デベロッパーツールの[ネットワーク]タブを確認してください。 – Rayon
あなたのajaxを読み込んだことがありますか?エラーが発生していないかブラウザのコンソールで確認しましたか? – Vishal
JavaScript/AJAXを一から忘れています... HTML/PHP/Laravelでフォームを作成して、それをやりたいことはできますか?あなたのコントローラとルーティングが最初に機能することを確認したい。 –