
已经测试成功,如果还有问题 ,可以花钱适配
价钱你们开,主要看眼缘
前端代码
<script>
function tdkhq() {
var domain = $("#domain").val().trim();
if (!domain) {
alert("请输入有效的域名!");
return;
}
// 1. 加载中状态(禁用按钮,避免重复点击)
var $btn = $(this) || $("button:contains('查询TDK')");
$btn.text("查询中...").prop("disabled", true);
$.ajax({
type: "GET",
dataType: "json",
url: "tdk_proxy.php",
data: { url: domain },
timeout: 15000,
success: function (result) {
if (result.code === 200) {
$("#name").val(result.title || "");
// 2. 关键词为空时提示(而非空输入框)
$("#gjz").val(result.keywords || "【该网站未配置关键词标签】");
$("#introduce").val(result.description || "");
alert("TDK查询成功!");
} else {
alert("查询失败:" + result.msg);
}
},
error: function (xhr, status, error) {
alert("请求失败:" + status + " - " + error);
},
complete: function () {
// 3. 恢复按钮状态(无论成功/失败)
$btn.text("查询TDK").prop("disabled", false);
}
});
}
</script>这个直接放在apply.php文件里面即可 ,
接口文件包更新,如果不能获取后,可以联系我给你更新即可
测试接口代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>TDK查询修复版</title>
<!-- 1. 优先引入jQuery(必须在自定义脚本前 ,用稳定CDN) -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
</head>
<body>
<!-- 测试用DOM结构(确保ID和JS中一致) -->
域名:<input type="text" id="domain" placeholder="输入域名,如www.baidu.com" value="www.baidu.com"><br>
标题:<input type="text" id="name" placeholder="标题"><br>
关键词:<input type="text" id="gjz" placeholder="关键词"><br>
描述:<textarea id="introduce" placeholder="描述"></textarea><br>
<button onclick="tdkhq()">查询TDK</button>
<script>
// 修复后的TDK查询函数
function tdkhq() {
// 修复点1:严格验证输入(避免空值/非法字符导致请求异常)
var domain = $("#domain").val().trim();
if (!domain) {
alert("请输入有效的域名!");
return;
}
// 修复点2:AJAX核心配置(适配后端代理的GET请求+参数格式)
$.ajax({
type: "GET", // 后端代理是GET请求(原POST会导致参数接收失败)
dataType: "json", // 明确接收JSON格式
url: "tdk_proxy.php", // 确认:代理文件和当前HTML同目录(路径错误是高频问题)
data: { // 用data传参(避免手动拼接URL导致的编码/格式错误)
url: domain
},
timeout: 10000, // 新增:超时保护(避免网络慢导致无响应)
// 修复点3:完善的成功回调(增加容错,避免字段不存在导致报错)
success: function (result) {
// 先验证返回结果是否合法
if (!result) {
alert("接口返回空数据!");
return;
}
// 匹配后端返回的code=200逻辑
if (result.code === 200) {
$("#name").val(result.title || ""); // 标题(空值兜底)
$("#gjz").val(result.keywords || ""); // 关键词(空值兜底)
$("#introduce").val(result.description || ""); // 描述(空值兜底)
} else {
alert("查询失败:" + (result.msg || "未知错误"));
}
},
// 修复点4:精准的错误回调(定位前端问题类型)
error: function (xhr, status, error) {
var errMsg = "";
switch (status) {
case "timeout": errMsg = "请求超时,请重试!"; break;
case "error": errMsg = "请求错误:" + error; break;
case "abort": errMsg = "请求被中断!"; break;
case "parsererror": errMsg = "接口返回非JSON格式(后端可能报错)!"; break;
default: errMsg = "未知错误:" + status;
}
alert(errMsg);
// 控制台打印详细信息(便于调试)
console.log("AJAX错误详情:", {
xhr_status: xhr.status, // HTTP状态码
status: status, // 错误类型
error: error, // 错误描述
response: xhr.responseText // 后端原始返回内容
});
}
});
}
</script>
</body>
</html>
欢迎大家使用支持