首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP将JSON返回到JQUERY AJAX调用

PHP将JSON返回到JQUERY AJAX调用
EN

Stack Overflow用户
提问于 2011-08-15 19:26:57
回答 1查看 108.4K关注 0票数 41

我仍然在努力理解JQUERY、AJAX和PHP的内部和外部环境。

我现在可以调用PHP OK,处理表单元素并发送一封电子邮件,但我没有处理返回到AJAX的问题。我总是激活error:选择器,当我试图列出假设返回的JSON时,我得到了信息,这显然是错误的。

带有假定JSON返回的PHP

代码语言:javascript
复制
<?php

touch('phpTouch.txt');
// process email
$email=1;
if ($email) {
    $value = array('return' => 1, 'msg1' => 'Message sent OK, we will be in touch ASAP');
} else {
    $value = array('return' => 0, 'msg1' => 'Message Failed, please try later');
}
$output = $json->encode($value);
echo $output;

?>

Javascript和AJAX

代码语言:javascript
复制
function submitForm(evt) {
    $('#msgid').html('<h1>Submitting Form (External Routine)</h1>');
    if ($('#formEnquiry').valid() ) {
        $("#msgid").append("<h1>(Outside Ready) VALIDATED send to PHP</h1>");
            $.ajax({
            url: "ContactFormProcess3.php",
            type: "POST",
            data: $('#formEnquiry').serialize(),
            dataType: "json",
            success: function (data) {
                alert("SUCCESS:");
                for(var key in data) {
                    $('#msgid').append(key);
                    $('#msgid').append('=' + data[key] + '<br />');
                }
            },
            error: function (data) {
                alert("ERROR: ");
                for(var key in data) {
                    $('#msgid').append(key);
                    $('#msgid').append('=' + data[key] + '<br />');
                }
            }
        });
    } else {
        $('#msgid').append('<h1>(Outside Ready) NOT VALIDATED</h1>');
    }
    evt.preventDefault();
};

假设的JSON数据列表

代码语言:javascript
复制
readyState=4
setRequestHeader=function (a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this}
getAllResponseHeaders=function (){return s===2?n:null}
getResponseHeader=function (a){var c;if(s===2){if(!o){o={};while(c=bF.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c}
overrideMimeType=function (a){s||(d.mimeType=a);return this}
etc etc 

如果有人能告诉我我犯了什么愚蠢的错误,我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-15 19:39:38

在PHP中可以这样返回json:

代码语言:javascript
复制
header('Content-Type: application/json');
echo json_encode(array('foo' => 'bar'));
exit;
票数 111
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7064391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档