Ajax技术求助:POST传值及用户信息页面加载问题
修复你的用户ID加载逻辑问题
我注意到你的代码里有个关键小问题:在load()方法的请求URL中,你直接把USER_ID写在了字符串里,这会导致浏览器请求的是user_profile.php?ID=USER_ID这个字面量地址,而不是你实际选中的用户ID值。咱们来修正这个问题,同时优化下代码的可读性:
修正后的代码
var USER_ID = 0; function UserID(user_id) { USER_ID = user_id; $.ajax({ type: "POST", url: "main.php", data: {ID: USER_ID}, success: function(msg) { alert(USER_ID); // 用ES6模板字符串把实际的用户ID插入到URL中 $('#user_profile_content').load(`user_profile.php?ID=${USER_ID} #user_profile_content`); // 如果你的环境不支持ES6,也可以用传统字符串拼接方式: // $('#user_profile_content').load('user_profile.php?ID=' + USER_ID + ' #user_profile_content'); }, error: function() { alert("error..."); } }); }
关键说明
- URL变量替换:核心问题就是原代码里的
USER_ID没有被解析成变量值,修正后通过模板字符串(${变量名})或者字符串拼接,就能把选中的用户ID正确传入请求地址了。 - 可选编码规范优化:如果想让代码更符合JavaScript通用规范,可以把
USER_ID改成小写驼峰命名(比如userId),团队协作或者后续维护时会更易读。
内容的提问来源于stack exchange,提问作者Aqil
相关产品推荐
相关产品推荐

