调用ajax参数传递参数类型,在jquery.ajax调用中将参数传递给'data'属性

开始在这个上撕掉我的头发所以我花时间问:

我有一个像这样的jquery函数:

function run_script(prog, args){

var out;

jQuery.ajax({

method: 'POST',

url: prog,

async: false,

data: args,

success: function(result){

out = jQuery.parseJSON(result);

}

})

return out;

}

现在,当我调用该函数时,我会执行类似的操作

jQuery(document).ready( function(){

jQuery('#some_button').click( function(){

run_script('my_script.pl',{ "key" : "value"} );

})

})

但是我似乎在函数中格式化我插入args的变量,我没有在脚本中捕获我想要的参数(我确信脚本可以工作,因为它在其他地方使用)。如果我将它们作为对象传递(如上所述),我根本就没有参数。如果我将它们作为字符串传递 - 即run_script('my_script.pl','{ "key" : "value"}' );(在{ "key" : "value" }附近添加了引号,那么我似乎在脚本中接收keywords: {(不,这不是错误 - 只是单词{ {1}}和一个大括号。

如果我回过头来将数据作为对象传递,然后在函数内但在ajax调用之前将其字符串化 - 那么现在就像

keywords

然后整个字符串确实被传递 - 但是它被收到var dat = jQuery.toJSON(args);

jQuery.ajax({

method: 'POST',

url: prog,

async: false,

data: dat,

success: function(result){

out = jQuery.parseJSON(result);

}

}),而不是所需的格式keywords='{ "key" : "value" }'。

如果我对key=value属性进行硬编码,请执行以下操作:

data

然后好像通过魔法一样,脚本会选择jQuery.ajax({

method: 'POST',

url: prog,

async: false,

data: { "key": "value" },

success: function(result){

out = jQuery.parseJSON(result);

}

})。任何人都可以对此有所了解吗?我该怎么做才能以正确的方式将信息传递到key=value?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值