使用form.submit()时出错
本文关键字:出错 form submit 使用 | 更新日期: 2023-09-27 18:09:05
我们的应用程序使用extjs and webapi(C#)
。我的表单有一个fileupload
控件。当我们在extjs中使用form.sumbit()
时,它不会进入成功函数。
WebApi代码:
bool SaveData(Employee obj)
{
return true;
}
Extjs代码:
form.submit( {
url: '../api/Empcontroller/SaveData',
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
success: function ( fp, o )
{
},
failure: function ( fp, o )
{
}
} );
我在所有浏览器中都得到了正确的响应。在Chrome
中取得了成功,但在Firefox its not.
中
尝试添加dataType参数,如下所示:
form.submit({
url: '../api/Empcontroller/SaveData',
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
dataType: 'json',
success: function (fp, o) {
},
failure: function (fp, o) {
}
});
我也看到它是这样做的:(用您需要发送的任何数据替换json_data_here(
form.submit(Ext.Ajax.request({
url: '/../api/Empcontroller/SaveData',
method: 'GET',
jsonData: json_data_here,
headers: {'Content-Type' : 'application/json' , 'Accept' : 'application/json'}
}));
似乎有一个FireFox错误插入了内容类型。。。
JQuery-Firefox 中的$.ajaxContentType问题
尝试在submit中添加匿名函数,而不是json:
form.submit( function(){
url: '../api/Empcontroller/SaveData',
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
success: function ( fp, o )
{
},
failure: function ( fp, o )
{
}
} );
hhhmmm。奇怪的我想我找到虫子了。FireFox不喜欢我将"asyncron"状态设置为"false"来告诉脚本等待服务器请求的回复。
所以不是http.open("GET",destURL,true(;我正在使用http.open("GET",destURL,false(;
Firefox不接受"false"上的异步选项
我不确定这是否是问题所在。但是文件上传不需要enctype吗尝试使用
enctype = multipart/form-data
这可能有助于
试试这个:
form.submit( function(){
url: '../api/Empcontroller/SaveData',method: 'POST',
headers: {'Content-Type': 'application/json'},
success: function (fp, o ){},
failure: function (fp, o ){}
});
使用以下代码。
form.submit( {
url: '../api/Empcontroller/SaveData',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
success: function ( fp, o )
{
},
failure: function ( fp, o )
{
}
} );
我只是更改了内容类型。