【问题标题】:why is jqXHR.responseText returning my PHP file and not executing the script?为什么 jqXHR.responseText 返回我的 PHP 文件而不执行脚本?
【发布时间】:2013-03-09 23:05:40
【问题描述】:

我试图简单地向我的服务器执行一个 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
            });

        }

【问题讨论】:

  • 如何为您的 PHP 提供服务?
  • 在浏览器中加载 signUp.php 时会发生什么?我想这也只是显示 php 源代码?

标签: php jquery ajax xmlhttprequest multipartform-data


【解决方案1】:

这些通常发生在 PHP 没有被解析时。因此,请确保您在 SERVER 上运行,该服务器能够并配置为运行 PHP,并且没有双击 HTML 页面

【讨论】:

  • 好的,我正在尝试。我需要重新配置 apache 才能使其正常工作。出于某种原因,我认为它应该可以即时运行。但我的电脑确实运行 PHP。我以为我可以在不运行 apache 的情况下侥幸逃脱,猜不出来。
  • @Mr.Student,IIS 可以运行 PHP,google 一下。你会找到很多解决方案。
  • 我刚刚说完就在 apache 上运行它。现在一切正常。
【解决方案2】:

导致此问题的两个最常见原因是您缺少初始的&lt;?php 以及您的服务器尚未针对 PHP 设置。我的猜测是,当您访问signUp.php 时,您会发现同样的问题。

【讨论】:

    猜你喜欢
    • 2011-08-15
    • 2011-11-15
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 2018-07-06
    • 2014-12-06
    相关资源
    最近更新 更多