Mryqu's Notes


  • 首页

  • 搜索
close

[JavaScript] JQuery AJAX在HTTP响应200OK时却调用了errorcallback

时间: 2014-05-25   |   分类: FrontEnd     |   阅读: 173 字 ~1分钟

运行如下代码时,从结果看操作成功,但是总是调用错误处理回调。

myTest = function(server, lib, table, reqParam, 
            reqInfo, successCallback, errorCallback) {
  var url = "http://localhost/mytest/" + 
            encodeURIComponent(server) + 
            "/libs/" +
            encodeURIComponent(lib) + 
            "/tables/" + 
            encodeURIComponent(table);
  
  if (reqParam!=undefined && reqParam) {
    url += "?reqParam=" + encodeURIComponent(reqParam);
  }
  
  $.ajax({
    cache: false,
    url: url,
    type: "PUT",
    data: JSON.stringify(reqInfo),
    contentType: "application/json",
    success: function (data) {
      if (successCallback!==undefined && successCallback) {
        successCallback(data);
      } else {
        console.log("success:"+JSON.stringify(data));
      }
    },
    error: function (xhr, status, error) {
      if (errorCallback!==undefined && errorCallback) {
        errorCallback(xhr, status, error);
      } else {
        console.log("error:"+JSON.stringify(xhr));
      }
    }
  });
};

JavaScript: JQuery AJAX在HTTP响应200OK时却调用了errorcallback 响应码为200OK,表明操作成功,此外也没见到"timeout"、"error"、"abort"和"parsererror" 这些错误。但是消息体内仅为一个字符串,而不是json数据。尝试设置dataType:“text”,结果调用了successCallback,成功!

myTest = function(server, lib, table, reqParam, 
            reqInfo, successCallback, errorCallback) {
  var url = "http://localhost/mytest/" + 
            encodeURIComponent(server) + 
            "/libs/" +
            encodeURIComponent(lib) + 
            "/tables/" + 
            encodeURIComponent(table);
  
  if (reqParam!=undefined && reqParam) {
    url += "?reqParam=" + encodeURIComponent(reqParam);
  }
  
  sas.ajax({
    cache: false,
    url: url,
    type: "PUT",
    data: JSON.stringify(reqInfo),
    dataType: "text",
    contentType: "application/application/json",
    success: function (data) {
      if (successCallback!==undefined && successCallback) {
        successCallback(data);
      } else {
        console.log("success:"+JSON.stringify(data));
      }
    },
    error: function (xhr, status, error) {
      if (errorCallback!==undefined && errorCallback) {
        errorCallback(xhr, status, error);
      } else {
        console.log("error:"+JSON.stringify(xhr));
      }
    }
  });
};

标题:[JavaScript] JQuery AJAX在HTTP响应200OK时却调用了errorcallback
作者:mryqu
声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

#javascript# #jquery# #ajax# #200ok# #errorcallback#
shiny练习
QuickEdit mode of command prompt
  • 文章目录
  • 站点概览

Programmer & Architect

662 日志
27 分类
1472 标签
GitHub Twitter FB Page
© 2009 - 2023 Mryqu's Notes
Powered by - Hugo v0.120.4
Theme by - NexT
0%