zoukankan      html  css  js  c++  java
  • EXTJS7 跨域文件上传

    默认的表单提交方式上传文件在跨域时有各种问题

    直接使用Ajax提交表单如下:

    var formData = new FormData(form.element.dom);
    Ext.Ajax.request({
       method: 'POST',
       // 注意此处如果不写请求Content-Type默认为text/plain,导致服务无法正确解析数据
       // 设置后请求Content-Type将为multipart/form-data; boundary=... 标识这是一个表单消息
        headers: {"Content-Type": null},
        url: 'xxx',
        rawData: formData,
        disableCaching: true
    });
    

    源码

    Ext.data.Connection

    Ext.define('Ext.data.request.Ajax', {
    ...
    	setupHeaders: function(xhr, options, data, params) {
    		...
    		type = 'Content-Type',
    		...
    		if (!headers.hasOwnProperty(type) && (data || params)) {
    		...
    			if (options.rawData) {
    	         contentType = 'text/plain';
    	        }
    ...
    
  • 相关阅读:
    第二周总结
    2019春总结作业
    第二次编程总结
    第四周作业
    第十二周作业
    第十一周作业
    第十周作业
    第九周作业
    第八周作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/luguojun/p/14294745.html
Copyright © 2011-2022 走看看