|
 |
 |
 |
 |
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
|
 |
 |
 |
 |
|