2012-09-18 3 views
5

Soy nuevo en jQuery y Ajax y me he encontrado con un problema. Estoy obteniendo el error en mi consola que:AJAX NS_ERROR_XPC_BAD_CONVERT_JS: No se pudo convertir el argumento de JavaScript jquery.js: 7065

NS_ERROR_XPC_BAD_CONVERT_JS: Could not convert JavaScript argument @ http://localhost 
/jquery.js:7065 

¿Por qué recibo este error?

El código Im Usando:

function upload_file(){ 
    var file = document.form1.file_upload; 
    var date = document.form1.date_added; 
    var author = document.form1.author; 
    var user = document.form1.user; 
    var semester = document.form1.semester; 
    var class1 = document.form1.class; 
    var subject = document.form1.subject; 
    $.ajax({ 
     type:"get", 
     url:"upload_file.php", 
     data:{ 
     "file":file, 
     "date":date, 
     "author":author, 
     "user":user, 
     "semester":semester, 
     "class":class1, 
     "subject":subject 
     }, 
     success:function(result){ 
     $("#result").html(result); 
     } 
    }); 
    } 

Im espera de sus respuestas.

PD: Hice la búsqueda en el foro pero no obtuve lo que quiero, así que si me perdí algo, lo siento de antemano.

+1

ante todo 'clase' es una palabra reservada ... cambie esta línea var class1 = document.form1.class – coolguy

+1

en primer lugar, lo que intenta hacer es incorrecto ... no puede cargar archivos utilizando ajax .. .. si quieres ajax como subir archivos, entonces tienes que usar iframe. – Surace

+1

En segundo lugar, ¿por qué intentas pasar elementos de dom dom al servidor ... supongo que debes pasar sus valores ... – Surace

Respuesta

0

Uso esto, supongo soporte de desajuste -

$.ajax(
       { 
     type:"get", 
     url:"upload_file.php", 
     data:{ 
     "file":file, 
     "date":date, 
     "author":author, 
     "user":user, 
     "semester":semester, 
     "class":class1, 
     "subject":subject 
     }, 
     success:function(result) 
       { 
     $("#result").html(result); 
     } 
    ); 
+0

aún el mismo error. –

+1

@ZackValentine cambie la clase en su forma como clase es una palabra clave reservada a algo así como myclass y luego úselo como - var class1 = document.form1.myclass; – swapnesh

8

Creo que el problema es que están tratando de pasar objetos completos a la JSON. Debe usar valores en lugar de objetos. Por ejemplo, reemplace:

var subject = document.form1.subject; 

con:

var subject = document.form1.subject.value; 
0

Me encontré con el mismo error, pero mi problema era diferente.

Resulta que estaba pasando un parámetro en la llamada ajax que no estaba presente en mi DOM en absoluto.

En @ s ZackValentine-caso (o para alguien que lee esto en el futuro), por favor, compruebe el valor de todos los elementos de datos que están a punto de pasar a la llamada ajax, ANTES la propia llamada real.

Cuestiones relacionadas