首页 > 解决方案 > 通过 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 直接放入我的查询中。我只是想先让这个工作。

谢谢

标签: phpjsonajax

解决方案


推荐阅读