|
|
 |
 |
 |
 |
Javascript / Client Side Development
|
 |
 |
 |
 |
 |
 |
 |
 |
ajax multipart problem
Hello, I'm trying to use AJAX to send multipart data (not from a client file), and I'm using a requestbody with the files separated by a boundary, like that: var boundStr = 'capitano'; var boundary = '--' + boundStr; var requestbody = [ boundary, 'Content-Disposition: file; name="htmlfile"; filename="hello.html"', 'Content-Type: text/html', '', '<html>some file</html>, boundary, 'Content-Disposition: form-data; name="jdk_version"', '', jdkVersion, boundary ].join('\n'); And then I set the headers and send, like that: httpRequest.onreadystatechange = requestdone; httpRequest.open('POST', url, true); httpRequest.setRequestHeader('Content-type', 'multipart/form- data; boundary="' + boundStr + '"'); httpRequest.send(requestbody); Now when I try to send the request, I get an error "File not found" in Firefox, "Resource not found" in IE. But I'm not reading a file?? I'm puzzled. Any ideas welcome.
On May 18, 9:46 am, charles <char@boisvert.me.uk> wrote:
> Hello, > I'm trying to use AJAX to send multipart data (not from a client > var boundStr = 'capitano'; > var boundary = '--' + boundStr; > var requestbody = [ > boundary, > 'Content-Disposition: file; name="htmlfile"; > filename="hello.html"', > 'Content-Type: text/html', > '', > '<html>some file</html>, > boundary, > 'Content-Disposition: form-data; name="jdk_version"', > '', > jdkVersion, > boundary > ].join('\n'); > And then I set the headers and send, like that: > httpRequest.onreadystatechange = requestdone; > httpRequest.open('POST', url, true); > httpRequest.setRequestHeader('Content-type', 'multipart/form- > data; boundary="' + boundStr + '"'); > httpRequest.send(requestbody); > Now when I try to send the request, I get an error "File not found" in > Firefox, "Resource not found" in IE. But I'm not reading a file?? I'm > puzzled. > Any ideas welcome.
Works for me. Can you post the text of the error as listed the JavaScript console?
On 20 mai, 19:18, "Skye Shaw!@#$" <skye.s@gmail.com> wrote:
> On May 18, 9:46 am, charles <char @boisvert.me.uk> wrote: > > Hello, > > I'm trying to useAJAXto sendmultipartdata (not from a client > > var boundStr = 'capitano'; > > var boundary = '--' + boundStr; > > var requestbody = [ > > boundary, > > 'Content-Disposition: file; name="htmlfile"; > > filename="hello.html"', > > 'Content-Type: text/html', > > '', > > '<html>some file</html>, > > boundary, > > 'Content-Disposition: form-data; name="jdk_version"', > > '', > > jdkVersion, > > boundary > > ].join('\n'); > > And then I set the headers and send, like that: > > httpRequest.onreadystatechange = requestdone; > > httpRequest.open('POST', url, true); > > httpRequest.setRequestHeader('Content-type', 'multipart/form- > > data; boundary="' + boundStr + '"'); > > httpRequest.send(requestbody); > > Now when I try to send the request, I get an error "File not found" in > > Firefox, "Resource not found" in IE. But I'm not reading a file?? I'm > > puzzled. > > Any ideas welcome. > Works for me. Can you post the text of the error as listed the > JavaScript console?
Firefox: Error: uncaught exception: [Exception... "Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIXMLHttpRequest.send]" nsresult: "0x80520012 (NS_ERROR_FILE_NOT_FOUND)" location: "JS frame :: file:///C:/charles/compile.html :: <TOP_LEVEL> :: line 39" data: no]
On May 20, 2:44 pm, charles <char@boisvert.me.uk> wrote:
> On 20 mai, 19:18, "SkyeShaw!@#$" <skye.s @gmail.com> wrote: > > On May 18, 9:46 am, charles <char@boisvert.me.uk> wrote: > > > Hello, > > > I'm trying to useAJAXto sendmultipartdata (not from a client > > > var boundStr = 'capitano'; > > > var boundary = '--' + boundStr; > > > var requestbody = [ > > > boundary, > > > 'Content-Disposition: file; name="htmlfile"; > > > filename="hello.html"', > > > 'Content-Type: text/html', > > > '', > > > '<html>some file</html>, > > > boundary, > > > 'Content-Disposition: form-data; name="jdk_version"', > > > '', > > > jdkVersion, > > > boundary > > > ].join('\n'); > > > And then I set the headers and send, like that: > > > httpRequest.onreadystatechange = requestdone; > > > httpRequest.open('POST', url, true); > > > httpRequest.setRequestHeader('Content-type', 'multipart/form- > > > data; boundary="' + boundStr + '"'); > > > httpRequest.send(requestbody); > > > Now when I try to send the request, I get an error "File not found" in > > > Firefox, "Resource not found" in IE. But I'm not reading a file?? I'm > > > puzzled. > > > Any ideas welcome. > > Works for me. Can you post the text of the error as listed the > > JavaScript console? > Firefox: > Error: uncaught exception: [Exception... "Component returned failure > code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIXMLHttpRequest.send]" > nsresult: "0x80520012 (NS_ERROR_FILE_NOT_FOUND)" location: "JS > frame :: file:///C:/charles/compile.html :: <TOP_LEVEL> :: line 39" > data: no]
You need to test this via a web server, as you are making a XML /Http/ Request.
> > > > var boundStr = 'capitano'; > > > > var boundary = '--' + boundStr; > > > > var requestbody = [ > > > > boundary, > > > > 'Content-Disposition: file; name="htmlfile"; > > > > filename="hello.html"', > > > > 'Content-Type: text/html', > > > > '', > > > > '<html>some file</html>, > > > > boundary, > > > > 'Content-Disposition: form-data; name="jdk_version"', > > > > '', > > > > jdkVersion, > > > > boundary > > > > ].join('\n'); > > > > And then I set the headers and send, like that: > > > > httpRequest.onreadystatechange = requestdone; > > > > httpRequest.open('POST', url, true); > > > > httpRequest.setRequestHeader('Content-type', 'multipart/form- > > > > data; boundary="' + boundStr + '"'); > > > > httpRequest.send(requestbody);
charles> When I try to send the request, I get an error "File not charles> found" in Firefox, "Resource not found" in IE. But I'm not charles> reading a file?? I'm puzzled. shaw> Works for me. Can you post the text of the error as listed the shaw> JavaScript console? charles> Firefox: charles> Error: uncaught exception: [Exception... "Component charles> returned failure code: 0x80520012 charles> (NS_ERROR_FILE_NOT_FOUND) [nsIXMLHttpRequest.send]" charles> nsresult: "0x80520012 charles> (NS_ERROR_FILE_NOT_FOUND)" location: "JS charles> frame :: file:///C:/charles/compile.html :: <TOP_LEVEL> :: charles> line 39" data: no] shaw> You need to test this via a web server, as you are making a shaw> XML /Http/ Request. Oops... I thought it was enough to connect to a server. Thanks. Charles
|
 |
 |
 |
 |
|