脚本
$('#c1').change(function() {
var serial = $(this).val();
$.ajax({
type : "GET",
dataType: 'html',
url : "getserial.php",
data : {id:serial},
success :function(data) {
var result = $.parseJSON(data);
$('#c4').val(result.curr_serial);
}
})
})
HTML
<select name="c1" id="c1">
<option value="">Select a type:</option>
<option value="JC">JC - Jackets</option>
<option value="PN">PN - Polo Neck</option>
<option value="RN">RN - Round Neck</option>
</select>
<input type="text" class="form-control" name="c4" id="c4" maxlength="3">
PHP用于从数据库中获取序列号。
require 'include/dbh.php';
$serial = $_REQUEST['c1'];
$sql = "Select `curr_serial` from serial where product='$serial'";
$result = mysqli_query($con,$sql);
$row = mysqli_fetch_array($result);
json_encode($row);
我得到的错误是:
Uncaught SyntaxError: Unexpected end of JSON input at Function.parse [as parseJSON] (<anonymous>) at Object.success (addproduct.php:383)
我无法理解我犯了哪些错误。
答案 0 :(得分:0)
你的AJAX成功&#39;回调没有收到任何数据。所以$.parseJSON()
失败了。
dataType: 'html'
应为dataType: 'json'
$.parseJSON()
,而data
将成为success()
回调函数中的对象。请参阅documentation(数据类型部分)。echo json_encode($row);
而不只是json_encode($row);
。echo
之前,应用标题:header('Content-Type: application/json');