js框架prototype传参问题

var data = 'kk':'mm','nn':'xx';
var params = "{" + data + "}";
		var httpReq=new Ajax.Request(strUrl,
		{method: 'post',
		asynchronous: false,
		parameters: eval('('+params+')'),
		requestHeaders: {dynenc:"UTF-8"},
		onComplete:function(oriReq){
			var responseDoc = oriReq.responseXML;
			document.getElementById("e1").innerHTML = "";
			document.getElementById("e2").value = "";
		}
		});
		return httpReq.responseText;

这里是protype框架的ajax的写法,传递的参数可以放在strUrl中,例如 xxAction.action?kk=‘。。’&mm='asdjkf'这样,但是由于这样对参数的长度有一定的限制,所以当参数很多时,我们只能用上面的方式来传参数,在某些情况下参数的个数是不确定的,说以我们只有把参数先拼接成字符串,像这样var a = “{” +  'kk':'mm','nn':'xx' + “}”,但是如果我们直接把这个参数用ajax传到后台,action中是去不到值的, 因为parameters这里需要的是一个json对象,而我们却传了一个字符串过去,当然后台取不到,所以要把var a = “{” + 'kk':'mm','nn':'xx' + “}”这样的字符串转换成json对象才行,怎么转呢:var b  = eval("(" + a + ")") 这样转就可以了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值