我想从javascript向php发送一个字符串变量,并使用字符串变量作为键值来设置数据库(pgsql)。以下是相关代码。
来自javascript:
$scope.check = function(name) {
var checkstatus = true;
console.log(name);
console.log(typeof name);
if (document.getElementById(name).value == "true") {
document.getElementById(name).value = "false";
console.log("uncheck!");
checkstatus = false;
}
console.log(checkstatus);
if (checkstatus === false) {
$.ajax({
url: 'partials/reception/deleteFromCheckedList.php',
type: "POST",
data: {
'name': name
},
success: function (response, xhr) {
location.reload(true);
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
}
}
来自php:
include('../get/inc/db.php');
$connect=pg_connect("host=$hostname dbname=$database user=$user
password=$password");
$name = $_POST['name'];
$query="UPDATE images SET active='0' WHERE \"fileName\" LIKE '" . $name . "'";
$result=pg_query($connect, $query) or die ("Error in
Query:$query.".pg_last_error($connect));
在javascript文件中,变量的类型是string。 在php中,列的类型" fileName"是变化的人物。 运行上面的代码时," active"的数据没有任何改变。但是,每次我在javascript中更改检查状态时,网页都会刷新。我无法弄清楚为什么会这样。
非常感谢你!
答案 0 :(得分:-1)
修正了问题。这是因为我在mac上的本地服务器上运行此代码。使用本地服务器可能会有问题。当我将它上传到数据库位于linux系统上的服务器时,问题就解决了。