[英]Javascript/AJAX to PHP Page with either POST or GET
我有2个值的javascript函数。 我想将这些值发布到PHP页面,在其中可以使用它更新mySQL数据库。 这是我到目前为止所没有的。
function updateDB(page1,page2)
{
alert("TEST");
$.ajax({
type: 'POST',
url: update.php,
page1: page1,
page2: page2
});
}
Update.php代码
<?php include "connect.php";
$page1 = $_POST['page1'];
$page2 = $_POST['page2'];
mysql_query("UPDATE `pages` SET `page1` = '$page1'");
?>
运行该函数时,我启动了POP,但数据库未更新。
有什么建议么? 我不介意使用GET或POST。
提前致谢,
使用jQuery通过POST发送数据的正确方法是使用data
属性。
一个例子是:
function updateDB(page1,page2)
{
$.ajax({
type: 'POST',
url: 'update.php',
data: {
page1: page1,
page2: page2
},
success: function() {
window.location = "http://google.com";
},
cache: false
});
}
我还添加了成功alert
,以及禁用缓存。 即使这是发布,IE也会将发布请求缓存到使用get请求的页面上。
我强烈建议使用MySQLi,或者至少转义查询:
include "connect.php";
$page1 = mysql_real_escape_string($_POST['page1']);
$page2 = mysql_real_escape_string($_POST['page2']);
mysql_query("UPDATE `pages` SET `page1` = '$page1'") or die(mysql_error());
如果您以后要通过href更改页面,只需执行以下操作:
<script>
function linkme(_this) {
window.event.preventDefault();
//do all the code with ajax
window.location = _this.href;
}
</script>
<a href="http://google.com" onclick="linkme(this)">Clicky</a>
您已经在字符串(update.php和page1 / 2)上忘记了“”,浏览器控制台应该以此为依据:“未捕获的ReferenceError:未定义更新”。 在此处查看有关调试的更多信息: https : //developers.google.com/chrome-developer-tools/docs/javascript-debugging
另外,您需要将数据放入数据对象中。
$.ajax({
type: 'POST',
url: 'update.php',
data: {
page1: page1,
page2: page2
}
}).done(function(data){
alert('got:' + data);
});
有关更多信息,请参见jquery文档: http : //api.jquery.com/jQuery.ajax/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.