jqueryとajaxを使用してファイルをアップロードする完全なjavascript関数を作成しました...いくつかのファイルでエラー関数がajaxで発生するまで、成功関数の代わりに。以下は私のコードです:ajaxを使用してファイルをアップロードし、jqueryがいくつかのファイルに対してネットワークエラーを返す
$.ajax({
url: 'MyService.asmx/UploadFiles',
type: "POST",
contentType: false,
processData: false,
data: fileData, // form data that contains file and some data
dataType: "text",
success: function (response) {
...
}
error: function (jqXHR, exception) {
//alert(jqXHR.status);
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
alert(msg);
}
});
エラーは「接続していません。ネットワークの確認」です。 このエラーを検索しましたが、サービスにアクセスできない場合や、クロスサイトスクリプティング(アクセスが拒否された場合)が発生した場合にスローされました...奇妙なことは、一部のファイルが正常にアップロードされていることです。到達可能でアクセスは拒否されていません...ファイルタイプに関しては、アップロードできなかったファイル内のすべてを削除してアップロードを再試行すると、最大サイズが5 MBのすべてのドキュメントファイルです。なぜいくつかのファイルが正常にアップロードされ、他のファイルはアップロードされないのですか?すべてのファイルをアップロードできるようにするには、どうすれば問題を解決できますか?
私はのonchangeイベントにアップロード機能を発射しています
更新: <input type="file" class="HideFile" onchange="UploadFilesnew();" onclick="resetInput(this)" id="UploadFilenew" />
。
私の入力は、ASPの内部にある:.aspxのページでのUpdatePanelので、ノーフォームとアクション
サーバーからの応答を提供できますか?デバッガの[ネットワーク]タブには何が表示されますか? – n00dl3
申し訳ありませんが初心者ですが、どうすればいいですか?あなたが望むなら、あなたが意味することを理解するためのリンクを私に提供することができます。 –
Chrome用:[Open chrome dev tools](https://developers.google.com/web/tools/chrome-devtools/)へ「ネットワーク」タブをクリックし、対応するリクエストをクリックしてサーバーの応答を確認します。他のブラウザでは、タブ/ショートカットはほとんど同じですが、同じタブではありません。 – n00dl3