【发布时间】:2020-12-27 19:28:00
【问题描述】:
在我的 HTML/PHP 应用程序中,我有一个简单的表单:
<form method="post">
<input type="text" id="vehicle1" name="vehicle1" value="Bike">
<input type="text" id="vehicle2" name="vehicle2" value="Car">
<input type="text" id="vehicle3" name="vehicle3" value="Boat">
<button type="submit" name="submitform" class="btn btn-success" value="save">Save</button>
</form>
然后,在页面的另一部分我有一个标准按钮:
<button type="button" class="btn btn-primary">Update</button>
当用户按下此按钮时,所需的行为是模仿使用提交按钮发布表单的相同行为,但是:
- 仅包含特定字段(比如
vehicle2) - 为它们设置一个给定的值
例如,为简单起见,我使用单个字段:
function updateForm(id, value)
{
$.ajax({
url: "samepage.php",
type: 'POST',
dataType: "json",
data: JSON.stringify({submitform: "save", id: value}),
cache: false,
contentType: "application/json",
success: function (result) {
},
error: function (request, status, error) {
console.error(request, status, error);
}
});
}
所以我可以这样称呼它:
updateForm("vehicle2", "Plane");
这是我页面的 PHP 代码:
<?php
if (isset($_POST['submitform'])) {
switch ($_POST["submitform"]) {
case "save":
foreach ($_POST as $key => $value) {
if ($key == 'submitform') continue;
$sql_update = 'UPDATE settings SET value="' . $value . '" WHERE id=' . $key;
$db->exec($sql_update);
}
break;
}
}
?>
HTML follows...
但它返回一个关于 json 内容的错误:
parsererror SyntaxError:JSON.parse:JSON 数据第 3 行第 1 列出现意外字符
我的方法错了吗?
【问题讨论】:
-
返回数据是什么?
-
是响应还是请求的时候?
-
@SandrinJoy,在“错误”分支中,所以在响应时
-
什么是samepage.php?以及数据发布在开发工具中的样子?
-
那么您的返回数据在哪里?