【问题标题】:Javascript: Passing dynamic data name attribute in AjaxJavascript:在 Ajax 中传递动态数据名称属性
【发布时间】:2016-06-11 08:51:10
【问题描述】:

我有以下代码:

image_type =  'photo';
jQuery.ajax({
    type: 'POST',              
    url: '?q=myid_save_input_image', 
    data:{
       'template_id': 1,
       'image_id': 2,
       'primary_id': 3,
       image_type : 4,  
    }
}).done(function(o){                                                    
}); 

我注意到代码何时执行。查看 Google Chrome 开发者工具中的网络标签:

我期待这样:

template_id: 1
image_id: 2
primary_id: 3
photo: 4

我将如何实现它? $image_type 是动态的,所以第四个属性名称可以随时更改。

【问题讨论】:

  • 那是什么问题??只需在您的 ajax 代码中将 image_type 更改为 photo。

标签: javascript php ajax variables dynamic


【解决方案1】:

你需要先制作对象,然后使用 [] 使用变量设置动态键。

var formData = {
   'template_id': 1,
   'image_id': 2,
   'primary_id': 3 
};
image_type =  'photo';
formData[image_type] = 4;

jQuery.ajax({
    type: 'POST',              
    url: '?q=myid_save_input_image', 
    data: formData
  }).done(function(o){                                                    
}); 

【讨论】:

  • 感谢您给我一个想法。这种行为背后的原因是什么?
【解决方案2】:

预先准备好数据变量并传递给AJAX函数。

把它变成这样:

var image_type = "photo";

var dataToPass = {};
dataToPass['template_id'] = 1;
dataToPass['image_id']=2;
dataToPass['primary_id']= 3;
 dataToPass[image_type] = 4;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 2015-09-10
    • 2012-08-21
    • 1970-01-01
    • 2021-11-30
    相关资源
    最近更新 更多