You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony中AJAX请求路径异常:返回[object%20Object]而非正确URL

问题根源与解决方案

嘿,我一眼就看出问题出在哪啦!你现在用$("#edit-url-js").data()拿到的是整个data属性对象,不是你要的data-post-url对应的值,直接把这个对象拼到URL里就会被转成[object%20Object],这就是请求地址跑偏的核心原因~

正确的路径获取方式

你有两种靠谱的方式拿到目标路径:

  • 方式一:直接指定要获取的data属性名(用短横线命名的原始名称)
    var path = $("#edit-url-js").data('post-url');
    
  • 方式二:先获取完整data对象,再通过驼峰命名的属性取值(jQuery会自动把data-post-url转成postUrl)
    var dataObj = $("#edit-url-js").data();
    var path = dataObj.postUrl;
    

修正后的AJAX示例代码

把路径获取方式改对后,AJAX请求就能正常指向正确地址了,完整代码参考:

$(document).ready(function() {
  // 先正确获取请求路径
  var postUrl = $("#edit-url-js").data('post-url');

  // 发起AJAX请求
  $.ajax({
    url: postUrl,
    method: 'POST', // 根据你的需求调整请求方法
    data: {
      // 这里放你的请求参数
    },
    success: function(response) {
      console.log('请求成功:', response);
      // 处理响应逻辑
    },
    error: function(xhr, status, error) {
      console.error('请求出错:', error);
      // 处理错误逻辑
    }
  });
});

补充说明

你提到console.log(path)能输出正确路径,大概率是你当时调试时不小心输出的是对象里的具体属性(比如console.log(path.postUrl)),但实际代码里却直接使用了整个data对象,才导致了这个看似矛盾的问题。只要把取值方式改对,硬编码能正常工作的情况,动态获取也能完全正常运行~

内容的提问来源于stack exchange,提问作者Marco Koopman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:25:23