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 –