如何使用Ajax在模态框中显示下拉选框(select)数据
问题解决:模态框无法展示JSON返回数据
核心问题分析
你的代码存在一个关键错误:已经通过dataType:"json"指定jQuery自动将服务器返回的JSON响应解析为JavaScript对象,此时再执行JSON.parse(data)会触发错误(因为data已经是对象,而非可解析的字符串),导致后续给下拉框、输入框赋值的代码无法执行。
修正后的代码
$.ajax({ url:"catch.php", method:"GET", data:{user_id:user_id}, dataType:"json", success:function(data) { $('#exampleModalLong').modal('show'); // 用prop更可靠地设置下拉选项选中状态 $("#ven option[value='"+data.vendor+"']").prop("selected", true); $('#cost').val(data.repair_cost); }, // 添加错误回调,方便排查请求或解析异常 error:function(xhr, status, error) { console.log("请求错误信息:", error); console.log("服务器返回内容:", xhr.responseText); } });
额外排查建议
- 打开浏览器控制台(F12),查看是否有JavaScript报错,这是快速定位问题的核心手段。
- 在success回调中添加
console.log(data),确认返回的data.vendor和data.repair_cost值是否符合预期。 - 确保下拉选项的
value值类型与data.vendor一致(比如同为字符串或数字),否则会出现匹配失败的情况。
内容的提问来源于stack exchange,提问作者Liton Mazumder
相关产品推荐
相关产品推荐

