微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在javascript中初始化对象时如何使用元素名称?

我正在尝试使用ajax函数获取数据,但是我的代码返回了:

Uncaught SyntaxError: unexpected string..

Javascript

var myParams = {
  $('#csrf').attr('name') : $('#csrf').val(),
  'module' : 'culinary',
  'id' : '12',
}
$.ajax({
  url: '/uploader/get_list',
  type: 'GET',
  data: myParams,
  success: function(response) {
    reponse = $.parseJSON(response);
    console.log(response);
  }
});

我的一位朋友建议使用此功能

var myParams = [];
myParams[$('#csrf').attr('name')] = $('#csrf').val();
myParams['module'] = 'culinary';
myParams['id'] = '12';

但是,如果使用第二种方法,PHP函数将无法识别参数.

将参数发送到ajax函数的正确方法是什么?

解决方法:

问题在于您创建myParams对象.要使用变量创建键,您需要使用方括号符号.尝试这个:

var myParams = {
  'module': 'culinary',
  'id': '12',
}
myParams[$('#csrf').attr('name')] = $('#csrf').val();

您拥有的第二个示例不起作用,因为您创建了一个数组,即. [],不是对象{}.

还要注意,如果您设置了请求的dataType属性,那么您无需手动解析响应,因为jQuery会为您完成:

$.ajax({
  url: '/uploader/get_list',
  type: 'GET',
  data: myParams,
  dataType: 'json',
  success: function(response) {
    console.log(response);
  }
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐