使用POST或GET的Javascript/AAJAX到PHP页面

Javascript/AJAX to PHP Page with either POST or GET

本文关键字:AAJAX PHP 页面 Javascript POST GET 使用      更新时间:2023-09-26

我有一个javascript函数,它有两个值。我想把这些值发布到一个PHP页面上,在那里我可以用它更新mySQL数据库。

function updateDB(page1,page2)
{
alert("TEST");
$.ajax({
type: 'POST',
url: update.php,
page1: page1,
page2: page2
});
}

更新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,以及禁用缓存。即使这是post,IE也会将post请求缓存到使用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)中的",您的浏览器控制台应该对此感到高兴:"Uncaught ReferenceError:update is not defined"。请在此处查看有关调试的详细信息: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/