Acredito que todos costumam usar operações de upload de arquivos em seu trabalho. Como estou trabalhando no front-end, apresento principalmente as operações do Ajax no front-end. Eu omiti muito código, basta tomar JS
$ .AJAXFILEUPLOAD ({URL: 'www.coding/mobi/file/uploadsinglefile.html', // Processar o script de imagem Secureuri: false, fileElementId: 'Image2', // ID de controle de arquivo. It It Int Type = "FILE" ID = "Image2" Datatype: 'JSON', 'JSON', SUCCEST: SUCTEMEL (DATATE2 ', (FileElementId:' Image2 '; Erro: função (dados, status, e) {alert (e);De acordo com o tutorial, não há problema se você enviar dessa maneira, mas sempre relatou um erro. Eu esqueci o que foi relatado. Sinto muito, porque me lembro de compensar este artigo depois de usá -lo por um longo tempo, mas se eu precisar modificar seu código -fonte, o erro poderá ser resolvido.
O último parágrafo de seu código -fonte se parece com este
uploadhttpdata: function (r, tipo) {var data =! type; dados = tipo == "xml" || dados ? R.Responsexml: R.SponseText; // Se o tipo for "script", avalie -o no contexto global se (tipo == "script") jQuery.globaleVal (dados); // Obtenha o objeto JavaScript, se o JSON for usado. if (type == "json") avaliar ("data =" + dados); // Avalie os scripts dentro de html if (type == "html") jQuery ("<div>"). html (dados) .evalcripts (); // alert ($ ('param', dados) .Each (function () {alert ($ (this) .attr ('value'));})); retornar dados; }Mude este parágrafo para isso
uploadhttpdata: function (r, tipo) {var data =! type; dados = tipo == "xml" || dados ? R.Responsexml: R.SponseText; // Se o tipo for "script", avalie -o no contexto global se (tipo == "script") jQuery.globaleVal (dados); // Obtenha o objeto JavaScript, se o JSON for usado. if (type == "json") {// porque os dados JSON serão embrulhados pela tag <pre>, há um problema. Agora adicione o seguinte código, // Atualize por hzy var reg = /<Pre.+?>(.+)<//pre>/g; var resultado = data.match (reg); resultado = regexp. $ 1; // atualizar dados finais = $ .parsejson (resultado); // avaliar ("data =" + dados); // Avalie os scripts dentro de html} if (type == "html") jQuery ("<div>"). html (dados) .evalcripts (); // alert ($ ('param', dados) .Each (function () {alert ($ (this) .attr ('value'));})); retornar dados; }Isso funcionará normalmente.
Outro caso: AjaxfileUpload relata este erro jQuery.HandleError não é uma função
Somente versões antes da versão 1.4.2 possui o método HandlerRor. O jQuery usado no exemplo é 1.2. Solução:
Para continuar usando o AjaxfileUpload para fazer upload de nossos anexos, tive que copiar o seguinte código no arquivo Ajaxfileupload.js em nosso projeto
HandleError: function (s, xhr, status, e) {// Se um retorno de chamada local foi especificado, dispare if (s.error) {s.error.call (s.context || s, xhr, status, e); } // dispara o retorno de chamada global se (s.global) {(s.Context? }}Para um conteúdo mais emocionante, consulte os tópicos especiais "Resumo da tecnologia do Ajax Upload", "Javascript File Upload Operação Resumo" e "Resumo da operação de upload do jQuery" para aprender.
O exposto acima é a solução para o problema de relatar erros em Ajaxupload.js. Espero que isso possa ajudá -lo a resolver as dificuldades. Espero também que você continue prestando atenção a um conteúdo mais emocionante no wulin.com.