Javascript 是否未发送Ajax POST请求?
我只是从输入字段中获取一个值,并在按下按钮后用php显示它 它确实显示,但没有给出post变量的值,这是我尝试使用的html和脚本:Javascript 是否未发送Ajax POST请求?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我只是从输入字段中获取一个值,并在按下按钮后用php显示它 它确实显示,但没有给出post变量的值,这是我尝试使用的html和脚本: <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> <script> function chk() {
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script>
function chk()
{
var name = document.getElementById('name').value;
var dataString='name'+ name;
$.ajax({
type: 'POST',
url: 'hi.php',
data: dataString,
cache: false,
success: function(html){
$('#msg').html(html);
}
})
return false;
}
</script>
</head>
<body>
<form>
<input type="text" id="name"><br>
<input type="submit" value="submit" onclick="return chk()">
<p id="msg"></p>
</form>
</body>
函数chk()
{
var name=document.getElementById('name')。值;
var dataString='name'+name;
$.ajax({
键入:“POST”,
url:'hi.php',
数据:dataString,
cache:false,
成功:函数(html){
$('#msg').html(html);
}
})
返回false;
}
发送给php处理的页面如下所示:
<?php
session_start();
$name = $_POST['name'];
echo "Response:".$name;
?>
我不是用Ajax正确地发送帖子吗?我要做的第一件事是更改您的数据字符串:
var dataString = 'name' + name;
到
它应该是一个键值对,即正确发送post变量
您应该像dataString={'name':您的_值'otherName':'someting'那样编写/发送 在
dataString
中缺少=
:var-dataString='name='+name代码>在控制台上获取任何值?打开控制台,查看是否实际调用了ajax页面。@Rory有一个=
在那里。。。?而@Bikash控制台没有抛出任何错误,它只是空白,我托管它的页面是@Apparatus17,您需要在字符串本身的“name”后面添加一个=
,是,这是推荐的方法,这样您就不必对它进行编码了。变量中的花括号的用途是什么?@Apparatus17这是一种对象表示法。我删除了我的注释,我意识到我输入错误。传递一个对象将修复编码问题,并且仍然将每个对象作为单独的post字段进行post。
var dataString = { 'name': name };