jquery - 试图在 jquery 中将 db 结果捕获为 json
问题描述
当用户单击复选框时,我正在尝试使用 jquery 从数据库中获取一些更新的数据。
复选框是这样的:
echo '<input type="checkbox" name="r571" value="1" '. $checked . $disabled .' id="check_kredit" onClick="ds.r571a.value=this.checked ? \''.date('d-m-Y').'\' : \'\';">'; ?>
ajax 是这样的:
$(document).ready(function() {
$("#check_kredit").click(function() {
$.ajax({ //create an ajax request to display.php
type: "GET",
url: "getkredit.php?k=129",
dataType: "json", //expect json to be returned
success: function(response){
console.log(response);
//json_data = jQuery.parseJSON(response);
//alert(response);
//$("#kreHint").html(response);
//console.log("sfsd");
//console.log(response);
//alert(response);
}
});
});
});
对数据库的调用 (getkredit.php) 是:
header('Content-Type: application/json', true);
$k = intval($_GET['k']);
if (!$con) {
die('Could not connect: ' . mysql_error($con));
}
$kid = "SELECT * FROM kunde WHERE id = '".$k."'";
$rkid = mysql_query($kid) or die(mysql_error);
while($row = mysql_fetch_assoc($rkid)) {
echo json_encode($row);
}
mysql_close($con);
如果我直接在浏览器中运行 php 文件,它会返回:
{
"id": "129",
"kundenr": "00000001",
"hra": "",
"navn1": "firmanavn",
"navn2": "",
"cvr": "142570220805205",
"adresse1": "Et vejnavn",
"adresse2": "",
"postland": null,
"postnr": "",
"postby": "Et sted i DK",
"land": "DK",
"tlf": "00000000",
"fax": "00000000",
"telex": "",
"www": "",
"email": "",
"att": "Hans Nielsen, Gunner Nu Hansen",
"note": "Faktura skal p\u00e5f\u00f8res f\u00f8lgende: Sagsnr-afdelingsnr-art-evt. valgfri",
"betal": "Netto kontant, 8 dage",
"sikker": "Beh\u00f8rig kreditvurdering",
"kundegruppe": "Entrepren\u00f8r",
"ansvarlig": "",
"opret": "2005-01-20 13:07:44",
"rettet": "2011-08-29 09:59:24",
"ejer_id": "129",
"x-factor": "100",
"kreditmax": "0",
"kreditbelastning": "0"
}
但是当我通过 ajax 调用运行它时,它会返回 html 代码。
这让我感到困惑,但由于这可能是第二次,我正在使用 ajax,这对我来说都是全新的。那么我做错了什么?
解决方案
将您的 ajax 调用更新为:
$(document).ready(function() {
$("#check_kredit").click(function() {
$.ajax({ //create an ajax request to display.php
type: "GET",
url: "getkredit.php?k=129",
dataType: "json",
headers: {
Accept : "application/json; charset=utf-8",
"Content-Type": "application/json; charset=utf-8"
},
success: function(response){
console.log(response);
//json_data = jQuery.parseJSON(response);
//alert(response);
//$("#kreHint").html(response);
//console.log("sfsd");
//console.log(response);
//alert(response);
}
});
});
});
推荐阅读
- php - laravel 5.5 雄辩的查询构建器在使用查询字符串存储 url 时构建错误的查询
- python - 在哪里可以找到 DRF 历史文档?
- windows-installer - 如何使用 Microsoft Visual Studio 安装程序项目构建新版本的 exe
- linux - 排序命令不适用于大文件
- javascript - 继承了一个参考 fast.fonts.net 的网站——它是什么?
- firebase - Cloud Firestore:如何将文档中的字段设置为空
- c# - TFS MSBuild not restoring nugets for websites in solution
- html - 保持容器固定并在窗口调整大小时显示水平滚动条
- verilog - “包含”和“定义”是什么意思?他们做什么?
- java - 如何提取列表
来自 HashMap 使用流