1
正如標題所述,在Chrome遠程調試中出現此錯誤。我試圖發送一個ajax請求(jsonp)到本地主機中的.php文件,然後在掃描QR代碼後使用QR碼中的URL對數據庫執行一些操作。但是,我收到此錯誤。未捕獲的SyntaxError:意外的令牌<ajax調用jsonp
我知道jsonp不同於json並使用不同的語法,但是我使用的代碼用於其他ajax調用。我無法弄清楚這個問題,並希望得到一些幫助。
這裏是代碼:
.html文件
<!DOCTYPE html>
<html>
<head>
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
<title></title>
</head>
<body>
<div data-role="page" id="home">
<div data-role="header">
<h1></h1>
</div>
<div data-role="main" class="ui-content">
<p>
<a target="_blank" href="javascript:scan();" style="text-decoration: none"><button>Scan</button></a>
</p>
</div>
</div>
<div data-role="page" id="display">
<div data-role="header">
<h1>Display</h1>
</div>
<div data-role="main" class="ui-content">
<table data-role="table" data-mode="column" id="allTable" class="ui-responsive table-stroke">
<thead>
<tr>
<th>Name</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script type= "text/javascript" src="js/jquery-3.1.1.js"></script>
<script type="text/javascript" src="cordova.js"></script>
<script>
function scan()
{
cordova.plugins.barcodeScanner.scan(
function (result) {
if(!result.cancelled)
{
if(result.format == "QR_CODE")
{
var value = result.text;
$.ajax({
type: "GET",
url: value + '?callback=?',
dataType: 'JSONP',
async: false,
jsonp : "callback",
jsonpCallback: "jsonpcallback",
success: function jsonpcallback(response)
{
if (response == "Success")
{
alert(response);
}
else
{
alert(response);
}
}
});
}
}
},
function (error) {
alert("Scanning failed: " + error);
}
);
}
</script>
</body>
</html>
PHP文件
<?php
header('Content-Type: application/json');
require 'dbcon.php';
session_start();
$acc_points = $_SESSION["acc_points"];
$acc_id = $_SESSION["acc_id"];
$result = $con->prepare(" UPDATE `points` SET `acc_points` = acc_points+1 WHERE `acc_id` = ? ");
$result->bind_param("i", $acc_id);
$result->execute();
if($acc_points != null)
{
$response = "Success";
echo $_GET['callback'] . '(' . json_encode($response) . ')';
}
else
{
$response = "Failed. Please try again.";
echo $_GET['callback'] . '(' . json_encode($response) . ')';
}
//connection closed
mysqli_close ($con);
?>
這個錯誤通常暗示服務器發送HTML ...查看開發工具網絡選項卡,並期待在請求被接受 –
嗯......在網絡響應選項卡顯示出此錯誤的響應...
致命錯誤:C:\ xampp \ htdocs \ MP \ appqrcode.php中的鍵'PRIMARY''帶有消息'Duplicate entry'12'的未捕獲異常'mysqli_sql_exception':14 堆棧跟蹤: #0 C:\ xampp \ htdocs中\ MP \ appqrcode.php(14):mysqli_stmt- >執行() #1 {主} 在ç拋出:\ XAMPP \ htdocs中\ MP \上線appqrcode.php
–
你去那裏,現在你知道真正存在的問題 - 在PHP –