2014-01-15 58 views
1

我使用Ajax调用PHP文件来处理从提交。我的JQuery表单验证检查变量的值以确定是否提交表单或返回false并显示错误消息。如何在成功时从我的PHP文件返回JQUERY变量和值到当前脚本?使用Ajax返回JQuery

我的JQuery和Ajax:

$.ajax({ 
    type: "POST", 
url: "validate.php", 
data: dataString, 
success: // what do I do here? { 
    } 
}); 

难道我只输出脚本我的PHP页面,然后返回HTML?

+1

传回JSON,返回一个值,以确定验证是否成功以及字符串消息。如果返回码为false,则显示该消息 – jammykam

回答

1

您也可以返回简单的东西为“是”或“否”为html和处理它的方式,如果你不”不想用json来简单回复。我发现json是越野车,有时会导致我很多不必要的错误,如果你只需要知道是或否,为什么要通过一个rigamarole。

$.ajax({ 
    dataType: 'html', 
    type: 'POST', 
    data: {formfieldname:formvalue,formfieldname2:formvalue}, 
    success: function(data){ 
     if(data == 'yes') { 
     // do your success stuff 
     } 
     else { 
     // do your error stuff 
     } 
    } 
}); 
0

您的PHP将读取数据,您可以在$ _POST内访问它。你的脚本会对这些数据做一些处理,并返回一些自己的数据。你可以并且应该返回有效的json为你的成功函数使用json_encode。这是可访问的,如果你写的下一个回调函数:success: function(data) { // do something with data }

3
$.ajax({ 
type: "POST", 
    url: "validate.php", 
    data: dataString, 
    //you can use json data, it will be easier to tranfer complex data 
    dataType: "json", 
    success: function(data) { 
     //the data will contain the return result 
     //for example you have an error message in following format 
     //{error:'some error has been occured'} 
     if(data.error) 
      alert(data.error); 
    } 
}); 
1

我不知道你在想什么了“JQUERY”变量。你的意思是JSON?

假设你要发送JSON和接收JSON,你会打电话:

$.ajax({ 
    dataType: 'json', 
    type: 'POST', 
    data: data_object, // not string! 
    success: function(data){ 
     // data will be the json data returned by your PHP script 
    } 
}); 

在简单情况下,在PHP中你会打电话jsonencode一个PHP数组到PHP数组转换为JSON。

例如(PHP)

header('Content-Type: application/json'); 
echo json_encode(array('foo' => 'bar')); 

看到这个答案:

PHP returning JSON to JQUERY AJAX CALL

0

我会建议以JSON的形式发回数据,然后在html ajax成功解析json并获取值。