[英]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.