Ext.ajax.request 不能在 jsonData 中使用 0

Posted

技术标签:

【中文标题】Ext.ajax.request 不能在 jsonData 中使用 0【英文标题】:Ext.ajax.request can not use 0 in jsonData 【发布时间】:2014-11-03 15:39:22 【问题描述】:

我正在以与question 的答案类似的方式实现 Ext.Ajax.request。当我包含 jsonData: 1 时,它会出现在标头的请求负载中。使用 jsonData: 0 时,标头有效负载中不会出现任何内容,并且服务器不会收到任何数据。可能是什么问题?

Ext.Ajax.request(
    url: '/my/url',
    method: 'PUT',
    jsonData: 0, //doesn't work but 1 does
    success: function(response, opts) 

    ,
    failure: function(response, opts) 

    
);

【问题讨论】:

【参考方案1】:

请看一下原始煎茶代码。

    if (jsonData && !Ext.isPrimitive(jsonData)) 
        data = Ext.encode(data);
    

您的调用将尝试发送 0(很容易等于 false 或不是对象)或 1(可能很容易等于 true 或成为对象)。

如果你使用这个配置参数,你肯定应该尝试使用真正的 json。

    jsonData: "value": 0

【讨论】:

【参考方案2】:

我发现以下工作:

jsonData: '' + val,

【讨论】:

以上是关于Ext.ajax.request 不能在 jsonData 中使用 0的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS之Ext.Ajax.request方法如何返回值的处理

急!!!!! Ext发送的Ajax在前台怎么接受后台传来的JSON对象(List集合) 修改我的代码也行,好了再加分

如何将Ext.Ajax.request请求 返回的值赋值给全局变量

Ext.Ajax.Request 在浏览器中不起作用

在 Chrome 中超时 Ext.Ajax.request 后未捕获的异常

Ext Js,Ext.Ajax.request 在移动设备上不起作用