当前位置: 首页 > 面试题库 >

XMLHttpRequest发布数据未发送

邵逸明
2023-03-14
问题内容

这是javascript:

function eAC(emailData) {
    if (window.XMLHttpRequest) {
        httpRequest = new XMLHttpRequest();
    }

    if (!httpRequest) {
        return false;
    }

    console.log(emailData);

    var fd = new FormData();
    fd.append("email", emailData);

    httpRequest.onreadystatechange = eAC_callback; 
    httpRequest.open('POST', "http://website.com/file.php");
    httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    httpRequest.send(fd);
}

function eAC_callback() {
    if (httpRequest.readyState === 4) {
        if (httpRequest.status === 200) {
            var response = JSON.parse(httpRequest.responseText);
                console.log(response);
        } else {
            return false;
        }
    }
};

这是PHP:

$pec_result = array();

if(isset($_POST['email']) && strlen($_POST['email']) > 0){
    $pec_result['error'] = 'Its good';
    echo json_encode($pec_result);
    die();
} else {
    $pec_result['error'] = $_POST['email'];
    echo json_encode($pec_result);
    die();
}

这里的问题是$_POST['email']价值NULL。当console.log()用于emailData返回值时,为什么$ _POST
[‘email’]为null 。有人可以帮忙吗?我认为这个问题在后面。(不确定)

请不要jQuery 。我知道如何在jQuery中执行此操作,但我想学习如何在javascript中执行此操作。是的,谢谢


问题答案:

你的问题是,与FormData请求为发送multipart/form-dataapplication/x-www-form- urlencoded。删除设置内容类型的行。将FormData对象传递到时,将自动设置正确的内容类型XMLHttpRequest.send



 类似资料:
  • 问题内容: 我必须承认我有点困惑…我以前从未做过,而且我显然缺少一些东西 当我通过http.post将数据传递到我的php文件时,我似乎无法收集数据… 有人可以告诉我为什么这行不通吗? FormData会显示在控制台日志中,并且可以确定正在写入文件。但是,看起来好像没有数据传递。 这是在我的php文件中。试图将提交表单中的数据写入文件中(只是测试)。 问题答案: 经过大量研究后,我发现这有点像ph

  • 我正在尝试使用axios发送数据,但它发送的响应超出预期。当我使用postman发出相同请求时,它会成功地向我的手机发送通知,以下是postman的响应: 但是使用axios,通知不会发送到我的手机,以下是axios的响应: 这是我的axios代码:

  • 问题内容: 当前设置 我有这样的HTML表单。 我可能在页面上有很多这些表格。 我的问题 如何异步提交此表单,而不进行重定向或刷新页面?我知道怎么用。我遇到的问题是从javascript中的HTML检索数据,然后将其放入发布请求字符串中。这是我当前用于zXMLHttpRequest的方法。 例如,假设单击了表单的“提交”按钮时调用了javascript方法,那么如何从该方法访问表单的值并将其添加到

  • 问题内容: 我想使用JavaScript中的XMLHttpRequest发送一些数据。 说我的HTML形式如下: 如何在JavaScript中使用XMLHttpRequest编写等效项? 问题答案: 下面的代码演示了如何执行此操作。

  • 我有一个简单的形式,我想转换成一个PHP后端系统。 现在,此表单有一个提交到URL的操作—URL仅在提交了名为的数据以及正确的信息(已编码的xml)时才接受邀请。 作品:-请注意,输入名称被称为和值包含的已经和它完美的工作。 但是,我希望通过在PHP中移动元素来实现以下目标,因为大量信息都是通过这种方式传递的。 请注意:链接是https,但它在本地不起作用,所以我不得不在CURL中禁用它。 我一直

  • 我的管道是IoTCore->pub/sub->Dataflow->bigQuery。最初,我得到的数据是Json格式的,管道工作正常。现在我需要转向csv,问题是我使用的Google定义的数据流模板使用Json输入而不是csv。是否有一种简单的方法通过数据流将csv数据从pub/sub转移到bigquery。模板可能会改变,但它是用Java实现的,我从来没有用过,所以需要很长时间来实现。我还考虑过