[英]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.