私はajaxを初めて使用し、ユーザーが送信ボタンをクリックしたときに、マーカーと呼ばれるjavascriptで作成した配列をPHPページに渡そうとしています。送信時に配列が存在し、スコープ内にあります。以下のコードは、それを実行しようとしているものです。送信ボタンをクリックすると、php ページに送信され、配列が渡されなかったことを意味する「失敗」が出力されます (コードの一部)。エラーは ajax コードで発生していると思いますが、それがどこから来ているのかわかりません。どんな助けも大歓迎です!
javascript/ajax のもの:
function submit_tour(){
var input = JSON.stringify(markers);
//var input = $(this).serialize();
var sent = $.ajax({
type: "POST",
data: input,
dataType: 'JSON',
url: "test_portal2.php"
}).done(function() {window.alert("done");})
.fail(function() {window.alert("failed");});
window.alert("" + input);
}
配列を送信することになっている HTML ボタン:
<form name="toursubmit" action="test_portal2.php" onsubmit="submit_tour()">
<input type="submit" value="Submit">
</form>
それをキャッチする PHP (test_portal.php ファイル内):
$ans = json_decode($sent);
echo $ans;
if ($ans != NULL){
echo "works";
echo $ans;
}
else {
echo 'failed';
}