【问题标题】:Using Ajax to return JQuery使用 Ajax 返回 JQuery
【发布时间】:2014-02-03 09:48:30
【问题描述】:

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

我的 JQuery 和 Ajax:

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

我是否只是在我的 PHP 页面上输出一个脚本,然后返回 HTML?

【问题讨论】:

  • 传回 JSON,返回一个指示验证是否成功的值以及一个字符串消息。如果返回码为假,则显示消息

标签: javascript php jquery html ajax


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    如果您不想使用 json 进行简单响应,您也可以返回像“是”或“否”这样简单的 html 并以这种方式处理它。我发现 json 有问题,有时会给我带来很多不必要的错误,如果你只需要知道是或否,为什么还要经历繁琐的事情。

    $.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
            }
        }
    });
    

    【讨论】:

      【解决方案3】:

      我不确定您认为“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 中,您会在 PHP 数组上调用 jsonencode 以将 PHP 数组转换为 JSON。

      例如(PHP)

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

      看到这个答案:

      PHP returning JSON to JQUERY AJAX CALL

      【讨论】:

        【解决方案4】:
        $.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);
            }
        });
        

        【讨论】:

          【解决方案5】:

          您的 PHP 将读取数据,您可以在 $_POST 中访问它。您的脚本将使用这些数据做一些事情并返回它自己的某种数据。您可以并且应该使用json_encode 为您的成功函数返回有效的 json。如果您在以下位置编写回调函数,则可以访问:success: function(data) { // do something with data }

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-11-07
            • 2011-02-20
            • 2011-09-21
            • 2021-02-25
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多