您好我正在学习使用jQuery / ajax.And我似乎遇到了一些问题。当我尝试发布一些表单数据时,我从服务器返回我的整个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()加载到页面中。
如何制作它以便仅回溯编码数据?
答案 0 :(得分:2)
从单独的PHP页面获取它:
$(document).on('submit' , 'form#submitData' , function(e){
var formData = $(this).serializeArray();
console.log(formData);
$.ajax({
// change here
url:'ajax.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();
});
并将您的PHP代码放在那里。