$.ajaxFileUpload({
url:"http://192.168.0.222:8080/Erp_V0.1/admin/upload/uploader.php", //处理图片的脚本路径
type: 'post', //提交的方式
data: upload_arr,//自定义参数
secureuri :false, //是否启用安全提交
fileElementId :id, //file控件ID
dataType : "jsonp",//数据类型为jsonp
jsonp: "jsonpCallback",//服务端用于接收callback调用的function名的参数
success : function (data){ //提交成功后自动执行的处理函数
alert(1111);
alert(data);
},
error:function(data,status,e){
alert(2222);
alert(e);
alert(JSON.stringify(data));
alert(status);
}
})
jsonp跨域只支持get方式,就算你前端这里设置成post方式,也会自动转换成get方式。
jsonp的实现方式其实就是<script>脚本请求地址的方式一样,只是ajax的jsonp对其做了封装,可想而知,jsonp是不支持POST方式的。因此,你服务器端代码如果用post方式是请求不了的。
当然了,如果你强行要用post方式跨域,也不是没有办法。
客户端更改:
``
添加:crossDomain: true
修改:dataType: "json"
``
服务端添加:
虽然可以做到,但有缺点,请求时间比较长,你自己衡量一下利弊吧。
最后附上一个Stackoverflow的相关问题贴:
http://stackoverflow.com/ques...
我记得Jsonp跨域用Get。.不过你非要Post网上有个http://www.jb51.net/article/6...,我没试。
先去捋清除跨域,jsonp相关的知识吧
jsonp是用的script标签做的
如果post要跨域需要后端添加Access-Control-Allow-Origin