繁体   English   中英

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

[英]AJAX - my simple ajax request does not work

我目前正在学习如何使用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。 没有钥匙,没有价值。 您没有提供键,只是一个值。

尝试

data: {"username":don}

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

您只是发送一个字符串。 您需要发送一个JSON对象:

var don = {"username" : $('#username').val()};

jQuery会将其转换为字符串并发送(我假设是,否则您需要JSON.stringify ),然后需要在服务器端调用json_decode进行查询。

如果要继续使用当前的服务器端代码,则需要使用GET请求并提交到url: "test.php?username="+encodeURIComponent($('#username').val()) ,然后检查PHP端的_GET变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM