`
755816
  • 浏览: 2733 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Ext.Ajax.request params传值的问题 直接写可以 动态生成的就不行

阅读更多
params = ''
for(var i=0;i<IfieldName.length;i++){
	paramsValue = Ext.getDom(IfieldName[i]).value
	if(paramsValue==undefined){paramsValue=''}
	params = params+IfieldName[i]+':\''+paramsValue+'\','
}
params = params+'formID:\''+formID+'\''
params = '[{'+params+'}]'
params = eval(params)
Ext.Ajax.request({
	url:"/DataOperate/exeFormInsert.asp", 
	params:params,
	success:function(response){
		eval(response.responseText)
		loadList(page)
		win.destroy();
	}
})

params 这块没有问题 eval之前输出[{workFlowName:'测试',workFlowDiv:'test',workFlowOrder:'1',formID:'5'}]
eval之后么就是object了

直接写params的话是 params:{workFlowName:'测试',workFlowDiv:'test',workFlowOrder:'1',formID:'5'} 是没有什么问题的
分享到:
评论
3 楼 heroyanglei 2010-11-22  
问题出在eval(String)函数上面。对于对象声明语句来说,仅仅是执行,并不能返回值。为了返回常用的“{}”这样的对象声明语句,必须用括号括住,以将其转换为表达式,才能返回其值。
参考:http://wanyij.blog.51cto.com/46570/43794
2 楼 Rooock 2010-02-10  
Ext.Ajax.request的params参数本质上只有接收String和Object两种类型, 当然也可以接受一个function. 前提是这个function必须有返回值. 且返回值必须是String类型或者Object类型.

如果想传递一个对象进去.完全可以不eval.
var params = {};
params.formID = 123;
params.IfieldName[0] = 'abc';
就可以了.

或者.给个你必须要用eval的理由先.
1 楼 755816 2010-02-10  
昏倒了
把params = '[{'+params+'}]' 
改成params = '({'+params+'})'
就好了
谁来解释下为什么? 

相关推荐

    Ext.Ajax.request2.x实现同步请求

    在EXTJS库中,`Ext.Ajax.request`是用于发送Ajax请求的核心方法,它支持异步和同步操作。本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,...

    Ext.Ajax.request 小问题收集

    这篇文章将深入探讨`Ext.Ajax.request`的使用,以及在实际应用中可能遇到的小问题。 首先,`Ext.Ajax.request`的基本语法如下: ```javascript Ext.Ajax.request({ url: 'your-url', method: 'GET', // 可选值有...

    ExtJs的Ext.Ajax.request实现waitMsg等待提示效果

    通过上述方法,可以在不直接修改Ext.Ajax.request方法的前提下,实现一个用户友好的等待提示,从而提升用户体验。 需要注意的是,文章中提到了OCR扫描出的文档存在识别错误或漏识别的情况,因此在阅读和理解代码时...

    Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别

    (1)Ext.FormPanel f.getForm().submit({ url:”... }, failure:function(c,v,e){} }) (2)Ext.Ajax.request Ext.Ajax.request({ url:”….”, params:{XX:xx….}, success: function (v,c) { var json=Ext.decode(v.r

    Ext ajax 上传文件

    Ext.Ajax.request({ url: 'upload.php', // 文件上传的服务器端处理程序 method: 'POST', useXhrUpload: true, headers: { 'Content-Type': undefined }, // 必须取消Content-Type以让浏览器自动设置 params: ...

    Ext3.1 Ajax 精简包以及使用方法

    3. **发送数据:** 在`Ext.Ajax.request`中,可以通过`params`字段传递数据,或者使用`jsonData`、`xmlData`等字段直接传入JSON或XML格式的数据。 4. **处理响应:** 成功或失败的回调函数接收两个参数,分别是响应...

    extjs ajax同步请求所需js

    在使用`Ext.Ajax.request`方法时,设置`async`参数为`false`可以使请求变为同步。例如: ```javascript Ext.Ajax.request({ url: 'your-url', method: 'GET', async: false, // 设置为false表示同步请求 ...

    ExtJs选中var editor = new Ext.ux.grid.RowEditor详解

    Ext.Ajax.request({ url: "updateuser.aspx", params: { data: Ext.encode(record.data), // 将数据编码成字符串形式 id: record.id }, success: function() { alert(10); } }); grid.getView().refresh...

    ExtJS对Ajax的支持

    **Direct Web Remoting (DWR)**是一种简化Ajax应用程序开发的技术,它使JavaScript能够直接调用服务器端Java方法,就像调用本地JavaScript函数一样。ExtJS与DWR的结合可以进一步增强Web应用的实时性和交互性。 ####...

    ext 前后台数据交互

    Ext.Ajax.request方法是Ext提供的一种异步调用后台服务的方式,该方法可以将前台的请求发送到后台,并将后台的响应返回到前台。该方法可以传递参数,例如url、params、success、failure等。 在上面的代码中,我们...

    使用Ext2.0的Ajax连接ArcIMS例子

    2. **Ext.Ajax.request**:Ext2.0框架提供的一个强大的Ajax请求方法,可以方便地发送请求并处理响应。 3. **跨浏览器兼容性**:通过检测不同浏览器支持的特性来选择合适的XMLHttpRequest实现方式。 #### 五、总结 ...

    Ext.data专题

    创建了 **Ext.data.Connection** 实例后,可以调用 `request()` 函数来发送请求。该函数接受多个参数,如: - **url**: 请求的目标URL。 - **params**: 请求参数。 - **method**: 请求方法(GET、POST等)。 - **...

    ext几个实例

    Ext.AJAX.Request常用参数** - **url**: 服务器端接口地址。 - **params**: 请求参数,以键值对形式传递。 - **method**: HTTP请求方法,通常是GET或POST。 - **callback**: 接收响应后执行的函数,无论成功或失败...

    深入浅出Ext_JS:数据存储与传输

    对于不常见的数据源和协议,可以通过自定义reader和proxy来扩展其功能,例如DWRProxy使得EXT能够直接与DWR(Direct Web Remoting)进行通信。 10.2 Ext.data.Connection Ext.data.Connection是Ext.lib.Ajax的封装,...

    ext/ajax开发资料

    Ajax(Asynchronous JavaScript and XML)技术是EXT库中的核心部分,它使得网页可以异步地与服务器交换数据并更新部分网页内容,无需刷新整个页面。这个“ext/ajax开发资料”压缩包显然提供了关于EXT中Ajax使用方法...

    ext集锦_ajax学习必备

    通过使用Ext.Ajax.request方法,开发者可以轻松地构造复杂的Ajax请求,例如: ```javascript Ext.Ajax.request({ url: 'server-side-script.php', method: 'POST', params: { id: 123 }, success: function...

    sencha touch2 ajax 获取数据

    除了使用`Store`,Sencha Touch2还提供了`Ext.Ajax.request`方法,这是一种更直接的使用AJAX的方式,适用于特定场景下的数据请求。 ```javascript Ext.Ajax.request({ method: 'POST', url: prefix + '/doc/...

Global site tag (gtag.js) - Google Analytics