$.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);
}
});

解决方案 »

  1.   

    data : data,
    success: function(data) {
     alert(data);
    }
    没有用过jquery,但这里的2个data应该是不同的东西,发请求去拿回来的data怎么可能和事先已有的data一样,那请求都不用发了
    success 那个data应该是后台返回的值,至于怎么实现,google搜:简单 ajax 实现
      

  2.   

    这两个data是不同的,第二个data是任意命名的,也可以写成:
    data : data,
    success: function(msg) {
     alert(msg);
    }
    我写的那个函数跟jquery没有关系,只是想实现它那样的返回方式,就是返回结果到msg,然后可以执行里面的代码alert(msg);:
    success: function(msg) {
     alert(msg);
      

  3.   

    ajax返回值我会,只是返回到success参数里面再使用就不知道怎么写了:
    ajax({
    type:'get',
    success: function(msg) {
    alert(msg);
    }
    });
      

  4.   

    大致就是function ajax(o) {
    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);
    }
    });
      

  5.   

    不一定要ajax,就用一个普通的函数返回值就行了,
    myfun({
        arg1: '1',
        arg2: '2',
        result: function(msg) {
            alert(msg);
        }
    });
    那么怎么写这个myfun()能够提示alert(msg)?
    myfun(){
     return "我是返回值";
    }
      

  6.   

    function myfun(o) {
    o.result('我是返回值');
    }
    myfun({
    arg1: '1',
    arg2: '2',
    result: function(msg) {
    alert(msg);
    }
    });
      

  7.   


    太谢谢了,就是要这样的效果。又学到了还可以这样设置没有参数时的默认值了,
    var arg1=args.arg1?args.arg1:'post';
    不用这样写也可以:
    var type=arguments[0].type?arguments[0].type:'post';
      

  8.   


    我不是很明白对象怎么用,以前写函数时就是这样写:
    myfun(arg1,arg2,arg3,arg4,arg5){...}
    调用时就很麻烦,不需要的参数也要写出来:
    myfun(1,'','','','','');
    改成上面和写法调用时就好看了,没用的参数就可以省掉了,只需要一个参数就写一个就行了:
    myfun({
    arg1: '1'
    };
    });
      

  9.   

    var arg1 = args.arg1 ? args.arg1 : 'post';
    简写
    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){...} 比较好
      

  10.   


    谢谢,明天结帖, myfun(arg1,arg2,arg3,arg4,arg5){...} 这样写可读性不好,让人不知道参数是干什么用的,arg1: '1',这样写就清楚了,这个参数有个标签一看就知道,
    再说myfun(arg1,arg2,arg3,arg4,arg5){...} 这样写修改不方便,如果我想再添加参数,以前的函数调用都要修改,arg1: '1'这种方法我只要修改函数里面就行了,以前的调用就不用管,因为有的参数可写可不写。
      

  11.   

    一个函数myfun(arg1,arg2,arg3,arg4,arg5){...} 参数多而且经常会修改时,一般用一个objectmyfun(o) 其中
    o.arg1  o.arg2 都是可选 互不冲突
      

  12.   

            // 定义函数
    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后的值
    }
    });