javascript - AJAX - 我的简单 ajax 请求不起作用

标签 javascript php jquery ajax

我目前正在学习如何使用 Ajax,但我已经遇到了问题:

1 HTML:

<body>
<form>

    Nom d'utilisateur : <input type="text" id="username" name="username"/>
    <input type="submit" id="submit" />
</form>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="script.js"></script>

JS:

$(document).ready(function(){

$("form").submit(function(e){
    e.preventDefault();
    var don=$('#username').val();
    $.ajax({
        url:'test.php',
        type:'post',
        data:don,
        success: function(html){
            alert(html);
        }

    });
});

});

PHP:

<?php
if(!empty($_POST['username'])){
    $response="yep";
}
else{
    $response="nope";
}

echo $response;

?>

正如您所看到的,这非常简单。但这让我发疯,我不明白为什么我总是得到“不”的回答。 你能帮助我吗 ? 谢谢

最佳答案

PHP 要求您提交 key=value 构造才能正确构建 $_POST/$_GET。没有 key ,就没有值(value)。您没有提供键,只是提供了值。

尝试

data: {"username":don}

相反。或者让您的 PHP 脚本通过 php://input 读取原始 POST 数据。

关于javascript - AJAX - 我的简单 ajax 请求不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29759163/

相关文章:

javascript - 从隐藏表单提交按钮刷新页面

javascript - 递归比较 JavaScript 中的对象数组

javascript - 使用 Freebase 建议如何根据另一个字段的选择来过滤一个字段

用于导航到随机 URL 的 Javascript

php - 使用图像链接更新查询

php - 无法在 Laravel 中上传大于 2MB 的文件

php - 单篇文章的多个类别(PHP MYSQL)

javascript - 将 setTimeout 与 AJAX 请求一起使用时出错

javascript - 在 webpack 和 es6 中使用 LESS

javascript - 在 Reactjs 中使用另一个组件中的数据