chrome 不支持ajax,为什么Chrome浏览器不支持使用Ajax脚本的FormData(this)?

我正在使用Ajax脚本将值发布到php文件中以便上传文件 的目的。

我已经在wordpress的页面模板中完成了这段代码。

而下面是我的Ajax脚本

jQuery("#apply_job").submit(function (event) {

$.ajax({

url: "http://example.com/file.php",

type: "POST",

data: new FormData(this),

contentType: false,

cache: false,

processData:false,

success: function(data)

{

alert(data);

if(data=="Mail sent successfully") {

document.getElementById("apply_job").reset();

hideAndShow('applyBox');

return false;

} else {

return false;

}

}

});

});

而下面是我使用

if(move_uploaded_file($_FILES["opn_file"]["tmp_name"],WP_CONTENT_DIR .'/uploads/'.basename($_FILES['opn_file']['name']))){

$attachments = array(WP_CONTENT_DIR . '/uploads/'.$_FILES["opn_file"]["name"]);

} else {

echo $result = "No attachment found.";

exit;

} PHP脚本

我正在使用​​变量发送带附件的邮件。

我的问题:

$_POST阵列和$_FILES["opn_file"]["name"]价值没有得到在Chrome浏览器到PHP文件。并且相同的代码在Firefox中工作。

如果有任何我想解释,请让我知道。

问题编辑零件

我看到了在控制台部分下面的内容(Chrome浏览器)

响应头

Accept-Ranges:bytes

Age:0

Connection:keep-alive

Content-Length:3

Content-Type:multipart/form-data; boundary=----ebKitFormBoundarycjW5QOMAnsUD7Y8f

Date:Thu, 17 Dec 2015 14:15:44 GMT

Server:xxxx

Via:1.1 varnish

X-Pingback:http://example.com/xmlrpc.php

X-Powered-By:PHP/5.5.9-1ubuntu4.14

X-Varnish:498399885

请求头

Accept:*/*

Accept-Encoding:gzip, deflate

Accept-Language:en-US,en;q=0.8

Connection:keep-alive

Content-Length:11509

Content-Type:multipart/form-data; boundary=----WebKitFormBoundarycjW5QOMAnsUD7Y8f

Cookie:_gat=1; _ga=GA1.2.1724306164.1450332097

Host:example.com

Origin:http://example.com

Referer:http://example.com/career-test/

User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36

X-Requested-With:XMLHttpRequest

请求有效载荷

------WebKitFormBoundarycjW5QOMAnsUD7Y8f

Content-Disposition: form-data; name="file"; filename="test.docx"

Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document

------WebKitFormBoundarycjW5QOMAnsUD7Y8f--

我希望,这一新的变化可能有助于找到任何解决办法..

2015-12-17

satya

+0

既然你已经使用'jQuery'你为什么不尝试用[连载](https://api.jquery.com发送数据'serializing'形式/ serialize /) –

+0

@xpy我也试过。但是,没有运气。而且我也尝试过使用静态数据..就像'{key1:'value1',key2:'Value2'}'。没有什么是适合我的。 :( –

+1

我怀疑你的问题可能在别的地方,你确定你的js代码没有错误地执行吗?控制台说什么?alert(data);说什么?另外,你可以在'chrome开发者',在'网络'选项卡上,您可以查看您对服务器的请求,是否应该将所有内容都发送出去? –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值