こんにちは私はjQuery/ajaxの操作方法を学んでいます。問題が発生しているようです。フォームデータを投稿しようとすると、サーバーからhtml構造全体と返されるデータが返されます。
これは私のhtmlです:
....
<form id="submitData" method="post" action="">
<div>
<label for="FirstName">First Name:</label>
<input type="text" id="FirstName" name="FirstName"/><span class="error">*</span>
</div>
........
<div id="textearea">
<label for="Message">Message:</label>
<textarea name="Message"></textarea><span class="error">*</span>
</div>
<input type="submit" id="submit" name="submit" value="Submit"/>
</form>
.....
これは私のphpコードです:
<?php
if(isset($_POST['data'])){
$jsonData = json_encode($_POST['data']);
return $jsonData;
}
?>
そしてこれは私のjQueryコードです:
$(document).on('submit' , 'form#submitData' , function(e){
var formData = $(this).serializeArray();
console.log(formData);
$.ajax({
url:'index.php',
type:'POST',
datatype:'json',
data: { data : formData},
success : function(data){
for(var i = 0; i < data.length; i++){
console.log(data);
}
},
error : function(s , i , error){
console.log(error);
}
})
e.preventDefault();
});
ループでデータにアクセスしようとしましたが、html構造から文字が返されているようです。また、フォームのhtmlがjquery load()を使用してページに読み込まれることにも言及する必要があります。
エンコードされたデータのみを元に戻すにはどうすればよいですか?