Ecstore的JS框架使用了mootools,所以ajax调用也使用mootools中的Request组件。

语法:

var myRequest = new Request([options]);

参数:

  1. options - (object, 可选) 参见下列可选项

可选项:

  • url - (string: 默认为 null) 请求的目标URL
  • method - (string: 默认为 'post') HTTP请求方法, 可以是: 'post' 或 'get'
  • data - (string: 默认为 '') 为Request:send方法提供的默认请求参数
  • async - (boolean: 默认为 true) 如果为false, 则请求将以同步方式进行
  • encoding - (string: 默认为 "utf-8") 请求的编码方式
  • link - (string: 默认为 ignore) 可以为'ignore', 'cancel' 或 'chain'
    • 'ignore' - 当请求正在执行之中时,新的请求将被忽略
    • 'cancel' - 当请求正在执行之中时,将立即取消当前执行中的请求,开始执行新的请求
    • 'chain' - 当请求正在执行之中时,将会把新的请求链接在当前请求之后,依次执行所有请求
  • headers - (object) 请求头数据
  • isSuccess - (function) 可覆盖内置的isSuccess函数,可自定义请求成功的规则

看ecstore中的一个例子:

new Request({url:'index.php?app=b2c&ctl=admin_specification&act=check_spec_value_id',
onSuccess:function(re){
if(re=='can'){
row.remove();
}else{
MessageBox.error(re);
}
}
}).post('spec_value_id='+encodeURIComponent(specvid));

onSuccess是在ajax调用成功后返回,参数是响应内容ResponseText

Request还有两个扩展类:
Request.HTML 专门用于响应内容为HTML的请求,重要的参数有:
update - (element: 默认为 null) 请求响应的responseText要插入的目标元素
evalScripts - (boolean: 默认为 true) 如果为true, 则响应内容中script标签中的脚本内容将被执行
evalResponse - (boolean: 默认为 false) 如果为true, 则整个响应内容将被作为脚本来执行

Request.JSON 专门用于发送和接收JSON格式数据的请求,这里ajax调用后将返回一个json对像
示例:

var jsonRequest = new Request.JSON({
url: "http://site.com/tellMeAge.php",
onComplete: function(person, text){
alert(person.age); //显示 "25 years".
alert(person.height); //显示 "170 cm".
alert(person.weight); //显示 "120 kg".
}
}).get({
'firstName': 'John',
'lastName': 'Doe'
});

更多ecstore 问题可联系站长QQ 1611235299

Ecstore中如何调用发起Ajax请求的更多相关文章

  1. 2.jquery在js中写标准的ajax请求

    $(function(){ $.ajax({ url:"http://www.microsoft.com", //请求的url地址 dataType:"json" ...

  2. C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序

    C#中缓存的使用   缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可:  <%@ Outp ...

  3. js中使用队列发送ajax请求

    最近,项目中需要按照先后顺序发送ajax请求,并且在一次请求结束后才能发起下一次,不然就会导致逻辑错误. 解决办法是定义一个数组,保存ajax请求数据. 以下使用extjs4定义一个类 Ext.def ...

  4. 如何在Global.asax中判断是否是ajax请求

    今天在一个应用场景中需要在Global.asax中判断一个请求是否是ajax请求,而在ASP.NET MVC中已经提供了一个现成的扩展方法IsAjaxRequest: namespace System ...

  5. MVC中用View.bag保存json字符串。在js中使用,不用ajax请求。。。。

    有时候我们只需要使用一次json数据,这时候直接在后台查出json,然后用view.bag传到前台使用,就会很方便..(在前台用ajax请求的话,感觉有点多余..) 上代码 后台: public Ac ...

  6. JQuery发起ajax请求,并在页面动态的添加元素

    页面html代码: <li> <div class="coll-tit"><span class="coll-icon">& ...

  7. C# MVC 全局错误Application_Error中处理(包括Ajax请求)

    在MVC的Global.asax Application_Error 中处理全局错误. 如果在未到创建请求对象时报错,此时 Context.Handler == null . 判断为Ajax请求时,我 ...

  8. Vue中使用echarts,ajax请求的远程数据赋值给图表不刷新的问题和解决办法

    问题: vue-cli搭建的项目,在mounted钩子函数里面创建echarts图表,本地模拟数据可以正常显示,但是当将ajax请求的远程数据赋值给图表时,图表并不会刷新. 解决办法: 刚开始以为是v ...

  9. Vue中使用axios发送ajax请求

    作为前后端交互的重要技巧--发送ajax请求,在Vue中我们使用axio来完成这一需求: 首先是下载axios的依赖, npm install --save axios vue-axios 然后在ma ...

随机推荐

  1. eclipse Content Assist 无法使用,不能自动补全的解决办法

    今天用eclipse写JAVA代码,写着写着突然,eclipse 的自动补全功能失效了,没办法自动补全.折腾半天,终于解决了. 在window->Preferences->Java-> ...

  2. VC-关于VC++ 6.0的那些事儿

    Microsoft Visual C++,(简称Visual C++.MSVC.VC++或VC)微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言.VC+ ...

  3. 启动Tomcat一闪而过解决

    打开apache-tomcat-6.0.32/bing/catalina.bat在首行添加: set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_07 就可以了.

  4. HDU 4009 Transfer water

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4009 题意:给出一个村庄(x,y,z).每个村庄可以挖井或者修建水渠从其他村庄得到水.挖井有一个代价, ...

  5. linux 虚拟机设置IP访问外网

    1 设置网络为桥接模式:(Vmware为例,安装过程中也可以设置) 选中当前的操作系统,点击虚拟机-->设置-->硬件-->网络设备器,勾选桥接模式 2 修改网络配置在命令行界面输入 ...

  6. android中的本地定时推送到通知栏

    一.使用系统定义的Notification 以下是使用示例代码: import android.app.Notification; import android.app.NotificationMan ...

  7. pyqt listview基础学习01

    from decimal import * from PyQt4.QtGui import * from PyQt4.Qt import * from PyQt4.QtCore import * im ...

  8. TCP和UDP的区别(转)

    TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...

  9. ios delegate 和 block

    //委托的协议定义 @protocol UpdateDelegate <NSObject> - (void)update; @end @interface Test : NSObject ...

  10. C/S系统实现两数求和(非阻塞+epoll+心跳包检测用户在线状况+滚动日志+配置文件.)

    C/S系统实现两数求和 任务要求: 实现配置文件 实现日志滚动 设置非阻塞套接字,EPOLL实现 检测客户端的连接,设置心跳检测 主线程 + 心跳检测线程 + EPOLL的ET模式处理事务线程 注意事 ...