phonegap と jQuery mobile を使用してアプリを構築しています。私のアプリには、mysqlを更新するボタンがあり、成功すると別のページに移動します。ボタンを押すと mysql が更新されますが、ブラウザが別のページに移動しないため、関数が成功しないと思いますか? window.locate
これは私が使用しているコードです。何か問題がありますか、それとも更新部分が機能しているのに機能しないのはなぜですか?
html:
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<div id="detailsPage" data-role="page" data-add-back-btn="true">
<div data-role="header">
<h1>Header</h1>
</div>
<div data-role="content">
<input type="button" id="button_id" value="UPDATE" data-theme="b" onClick="UpdateRecord();">
<input type="button" id="button_id" value="DELETE="d" onClick="DeleteRecord();">
</div>
</body>
</html>
js:
<script>
function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
function UpdateRecord(update_id) {
var id = getUrlVars()["id"];
jQuery.ajax({
type: "POST",
url: serviceURL + "update.php",
data: 'id='+id ,
cache: false,
success: function(response)
{
window.location = "list.html"
}
});
}
function DeleteRecord(update_id) {
var id = getUrlVars()["id"];
jQuery.ajax({
type: "POST",
url: serviceURL + "delete.php",
data: 'id='+id ,
cache: false,
success: function(response)
{
window.location = "list.html"
}
});
}
</script>
そして update.php:
<?php
include 'config.php';
// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
// new data
$id = @$_POST['id'];
// query
$sql = "UPDATE table
SET number=3
WHERE IND=?";
$q = $conn->prepare($sql);
$q->execute(array($id));
?>