为什么jqXHR.responseText返回我的PHP文件而不执行脚本?

时间:2013-03-09 23:05:40

标签: php jquery ajax xmlhttprequest multipartform-data

我正在尝试简单地向我的服务器执行ajax请求。请求将我的表单数据传递给signUp.php,然后处理该信息。然后php将回显一个responseText到我的jqXHR对象,然后打印警报。问题是我的php文件正在执行,而jqXHR.responseText反而返回我的php文件本身就好像它是一个文本文件。一个示例php responseTest看起来像......

"<?php
 php code ...
  ?>"

相反,我希望responseText返回我的回声。代码写在下面。

            var formData = new FormData(document.getElementById("signUpForm"));
            $.ajax({
                url: "./cgi-script/signUp.php",
                type: "POST",
                xhr: function giveXmlHTTP(){
                    myXhr = $.ajaxSettings.xhr();
                    if(myXhr.upload){
                        myXhr.upload.addEventListener('progress',progressHandler, false);
                    }
                    return myXhr;
                },
                success: function(data,statusText,jqXHR){
                    alert(jqXHR.responseText);
                },
                data:formData,
                cache: false,
                contentType: false,
                processData: false
            });

        }

2 个答案:

答案 0 :(得分:1)

这些通常发生在PHP未被解析时。因此,请确保您运行的 SERVER 能够并配置为运行PHP,而不是双击HTML页面

答案 1 :(得分:0)

导致此问题的两个最常见原因是您缺少初始<?php并且您的服务器尚未设置为PHP。我的猜测是,当您刚访问signUp.php时,您会发现同样的问题。