$.ajax({
type : "POST",
cache : false,
url : "./examples/login.php",
data : data,
success: function(data) {
alert(data);
}
});
====================
比如jquery里面的ajax用法,将结果反回到function(data) 是怎么实现的?
我写个测试函数,怎么都不成功,传参数是行的,但怎么返回结果给data?要怎么写?
function ajax(){
//调有函数时是否有参数,没有就设置默认值
var type=arguments[0].type?arguments[0].type:'post';
var url=arguments[0].url?arguments[0].url:'';
var result="<b>测试</b>";
var success=arguments[0].success?result:'';}
ajax({
type:'get',
success: function(data) {
alert(data);
}
});
type : "POST",
cache : false,
url : "./examples/login.php",
data : data,
success: function(data) {
alert(data);
}
});
====================
比如jquery里面的ajax用法,将结果反回到function(data) 是怎么实现的?
我写个测试函数,怎么都不成功,传参数是行的,但怎么返回结果给data?要怎么写?
function ajax(){
//调有函数时是否有参数,没有就设置默认值
var type=arguments[0].type?arguments[0].type:'post';
var url=arguments[0].url?arguments[0].url:'';
var result="<b>测试</b>";
var success=arguments[0].success?result:'';}
ajax({
type:'get',
success: function(data) {
alert(data);
}
});
success: function(data) {
alert(data);
}
没有用过jquery,但这里的2个data应该是不同的东西,发请求去拿回来的data怎么可能和事先已有的data一样,那请求都不用发了
success 那个data应该是后台返回的值,至于怎么实现,google搜:简单 ajax 实现
data : data,
success: function(msg) {
alert(msg);
}
我写的那个函数跟jquery没有关系,只是想实现它那样的返回方式,就是返回结果到msg,然后可以执行里面的代码alert(msg);:
success: function(msg) {
alert(msg);
}
ajax({
type:'get',
success: function(msg) {
alert(msg);
}
});
var req = createXHR();
req.onreadystatechange = function() {
if(..success..) {
o.success(req.responseText);
}
}
req.open('GET', o.url, true);
req.send(NULL);
}ajax({
type: 'get',
success: function(msg) {
alert(msg);
}
});
myfun({
arg1: '1',
arg2: '2',
result: function(msg) {
alert(msg);
}
});
那么怎么写这个myfun()能够提示alert(msg)?
myfun(){
return "我是返回值";
}
o.result('我是返回值');
}
myfun({
arg1: '1',
arg2: '2',
result: function(msg) {
alert(msg);
}
});
太谢谢了,就是要这样的效果。又学到了还可以这样设置没有参数时的默认值了,
var arg1=args.arg1?args.arg1:'post';
不用这样写也可以:
var type=arguments[0].type?arguments[0].type:'post';
我不是很明白对象怎么用,以前写函数时就是这样写:
myfun(arg1,arg2,arg3,arg4,arg5){...}
调用时就很麻烦,不需要的参数也要写出来:
myfun(1,'','','','','');
改成上面和写法调用时就好看了,没用的参数就可以省掉了,只需要一个参数就写一个就行了:
myfun({
arg1: '1'
};
});
简写
var arg1 = args.arg1 || 'post';var type = arguments[0].type ? arguments[0].type : 'post';
同上
var type = arguments[0].type || 'post';另外用arguments影响可读性,大部分情况下还是写上 myfun(arg1,arg2,arg3,arg4,arg5){...} 比较好
谢谢,明天结帖, myfun(arg1,arg2,arg3,arg4,arg5){...} 这样写可读性不好,让人不知道参数是干什么用的,arg1: '1',这样写就清楚了,这个参数有个标签一看就知道,
再说myfun(arg1,arg2,arg3,arg4,arg5){...} 这样写修改不方便,如果我想再添加参数,以前的函数调用都要修改,arg1: '1'这种方法我只要修改函数里面就行了,以前的调用就不用管,因为有的参数可写可不写。
o.arg1 o.arg2 都是可选 互不冲突
function myFun(obj)
{
// obj必须包括的2个参数
var value = obj.value; // 数值类型
var account = obj.account; // function
// 处理后的结果
var v = value + 2;
account(v);
}
// 用户调用
myFun({
value:1,
account:function(data){
alert(data); // data就是value + 2后的值
}
});