从JavaScript向PHP发送数据失败:返回结果为null
解决方法
问题根源
你在jQuery的$.post里传递的参数是{map},这会把整个map对象包装成一个名为map的键值对发送,导致PHP端无法直接通过$_POST["url"]获取到值——实际POST的数据结构是map[url],而非直接的url字段。
修改后的JavaScript代码
$(document).ready(function() { var map = { url: window.location.pathname // 获取不含域名的URL路径 }; // 直接传递map对象,不要额外包装成{map} $.post("/php/SongOutput.php", map).done(function(data){ console.log(map); // 验证map对象内容是否正确 console.log(data); // 输出PHP返回的$_POST["url"]值 }) });
优化后的PHP代码(可选,避免报错)
// 先判断参数是否存在,防止出现未定义索引的报错 echo isset($_POST["url"]) ? $_POST["url"] : '参数不存在';
额外排查点
- 确认
/php/SongOutput.php的文件路径正确,可直接在浏览器访问该路径测试是否能正常响应 - 打开浏览器开发者工具的Network面板,查看POST请求的Form Data,确认参数是否正确发送
内容的提问来源于stack exchange,提问作者Exit Code 1
相关产品推荐
相关产品推荐

