用jquery ajax 可以只做表单提交 不要返回值可以吗

如题所述

我也有这个需求,需要获取服务器时间,为了避免不必要的下载,本来在服务端做个接口返回空就行了,但现在找到了更好的方法,用HEAD请求就行了。

可能会有人用到,在这分享一下


$.ajax({
  type:'HEAD',
  complete: function(xhr){
    //...
  },
  error: function(error){
    //request error 一般来说这个不会触发
  }
});

 另附getServerTime的代码

function getServerTime(){
  var dfd = $.Deferred();
  $.ajax({
    type:'HEAD',
    complete:function(xhr){
      var date = new Date(xhr.getResponseHeader('date'));
      if(!isNaN(+date)){
        dfd.resolve(date);
      } else {
        dfd.reject('invalid Date');
      }
    },
    error: function(error){
      dfd.reject(error);
    }
  });
  return dfd;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-26
不要返回值,那你需要ajax提交做啥呢?跳转?重定向?ajax提交为的就是返回刷新页面某个位置的内容,如果不需要,你干嘛要做ajax,当然ajax也可以跳转,你在返回一个固定值或者boolean类型去判断然后在返回函数里面写window.location.href=""这样就能跳转。关键还是在于,你这样写,有什么作用呢
第2个回答  2012-11-26
那你知道ajax的用途是什么吗?如果只是简单的提交的话何必用ajax,jQuery把ajax封装的太好了,反而让很多程序员都不深入了解。
而且如果你用ajax想得到一个返回的值也是需要server端配合的,否则无论你用jquery的post还是get里面的回调都是不会执行的。本回答被提问者和网友采纳
第3个回答  2012-11-26
可以对那个返回值不进行操作不就行了吗?