php - 通过 json.stringify/ajax 传递多个参数不起作用
问题描述
我曾尝试通过 SO 搜索我的问题的答案,但我发现的所有帖子仍然无法帮助我解决我的问题。我不知道我是否忽略了某些东西,或者只是我缺乏知识导致我的代码无法正常工作。
我有两个 JS 提示,要求输入一个 ID,然后是一个金额来调整我的库存水平。我希望它将它传递给我的 php 文件以运行 mysql 更新查询。
我的脚本:
<script type="text/javascript">
function sendArray()
{
var ourObj = {};
ourObj.itemId = prompt("Scan ID:");
ourObj.adjAmt = prompt("Enter amount:");
alert(ourObj.itemId);
alert(ourObj.adjAmt);
$.ajax({
url: "save.php",
type: "POST",
data: { invAdj : JSON.stringify(ourObj)},
success: function(response)
{
alert("data sent response is "+response);
},
error: function(e)
{
alert("data not sent"+e);
}
});
}
</script>
<button onclick="sendArray();">Send Array</button>
我的PHP:
if(isset($_POST['invAdj'])) {
$invAdj = json_decode($_POST['invAdj']);
$itemId = $invAdj->itemId;
$amtAdj = $invAdj->amtAdj;
}
mysqli_query($link, "UPDATE stock_levels SET stocklevel = stocklevel + " . $amtAdj . " WHERE id = " . $itemId);
?>
目前,我收到了成功的警报,但数据库中的级别没有改变。我知道 db info 有效并且 sql 查询有效,因为如果注释掉 post 块并添加实体变量,它会完美运行。我在 POST 块中搞砸了。
任何帮助将不胜感激!再次,抱歉,如果这已得到回答,但我找不到有效的帖子......
另外,我知道我不应该将 SQL 直接放入我的查询中。我只是想先让这个工作。
谢谢
解决方案
推荐阅读
- apache-spark - Spark/Cassandra 阴影依赖问题
- javascript - aframe 注册组件添加 onclick 属性
- amazon-web-services - 无法让 pip install 在 EMR 集群上运行
- python - Python Tkinter 事件绑定
- java - 有没有办法初始化一个 SortedMap
值已经包含在 Java 中? - python - 在过滤数据帧处返回一个空数据帧
- python - Heroku - 使用 AWS 处理下载的文件需要 30 多秒
- android - 安卓工作室 | CPP 文件错误错误:未定义对位图库中的“AndroidBitmap_unlockPixels”的引用
- android - 在android中显示来自firebase数据的图表
- java - Microsoft Graph Api - 在没有用户的情况下在 java 中获取访问权限