【发布时间】:2021-10-26 18:37:53
【问题描述】:
我正在尝试将值从输入文本传递到 ajax,但我在解码时不断收到null。
这是我写的。
<script>
function myAjax()
{
var username = $("#username").val();
var orderid = $("#orderid").val();
$.ajax({
type: "POST",
url: 'jumper.php',
data:{ data1:{"username": username, "orderid": orderid}},
datatype: 'json',
success:function(html)
{
document.getElementById("test").innerHTML = html;
}
});
}
</script>
<body>
<input type="text" id="username" name="username">
<input type="text" id="orderid" name="orderid">
<button id="btnkey" class="button" style="vertical-align:middle" onclick="myAjax();return false;"><span>SEARCH</span></button>
<div id="test" class="test"></div>
</body>
并解码:
$vars = (json_decode($_POST['data1']));
echo $vars;
我在这里不断收到null。
【问题讨论】:
-
这不是您通过
$_POST变量收到的JSON,您需要为AJAX 调用返回JSON。试着先看看你在$_POST中得到了什么。 -
尝试调试你在
$_POST['data1']得到的东西做echo $_POST['data1'];或print_r($_POST['data1']);然后决定你想做什么,如果你在POST 中没有得到任何东西那么你可能会改变你的Ajax 请求代码。
标签: javascript php jquery json ajax