0
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('#my-form')
.submit(function(e) {
$.ajax({
url: 'http://111.111.111.111:5008/form',
type: 'POST',
data: new FormData(this),
processData: false,
contentType: false,
success: function (data) {
alert("SUCCESS");
},
error: function (textStatus, errorThrown) {
alert("FAILED");
}
});
e.preventDefault();
})
});
</script>
</head>
<body>
<div>
<form id="my-form">
<div>
File:
<input type="file" name="file" />
</div>
<div>
<button type="submit">Submit</button>
</div>
</form>
</div>
</body>
</html>
我需要提交表單並查看它是否成功。該文件正在我的服務器端上傳,沒有錯誤,但阿賈克斯說它失敗(失敗的警報顯示)。我打開控制檯,它給人的錯誤:Jquery ajax不工作 - 否'訪問控制允許來源'
XMLHttpRequest cannot load http://111.111.111.111:5008/form. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://111.111.111.111' is therefore not allowed access.
所以窗體被上傳,因爲我可以看到它是從我的數據庫。我GOOGLE了錯誤,似乎我可以在我的AJAX中使用jsonp作爲數據類型。我試過這個,但它不起作用,但我寧願不將它用於安全風險,我也不需要這種數據類型。
爲什麼downvote? – user2924127
我沒有看到下降投票的理由這個問題..嘿夥計,我看到你的代碼中沒有錯誤,我已經檢查過它。提交後它完美地發佈表單內容。我認爲你的服務存在一個問題,寫在http://111.111.111.111:5008/form .. ajax等待特定時間段的響應,如果它不會那麼它會拋出錯誤事件....或檢查此http ://stackoverflow.com/questions/15412226/access-control-allow-origin-error你可能需要設置代理服務器,以重定向到實際服務器的Ajax調用(你必須編寫重寫規則,以重定向).Upvoted ;) –