Yeah, but it's not the Request.JSON accept header that's the issue, it's
the Request.JSON content-type when POSTing (and others). It claims to
POST application/xml-type content, which it thankfully isn't actually
doing.
I'm just aiming for correctness, it's not a big issue, I write the
server-side code, but it's good to be able to write good clean code, and
not write around bugs.
On 09/08/2011 17:52, Aaron Newton wrote:
Request.JSON sets the accept headers itself. What I'm saying is that
if your server responds with json, even if it responds with an xml
header, Request.JSON should still function. It doesn't check the
response headers for application/json.
On Tue, Aug 9, 2011 at 9:10 AM, Lee <[email protected]
<mailto:[email protected]>> wrote:
Didn't seem to have an effect when I supplied header: {} to the
Request.JSON constructor, but I'll try the method you kindly
suggested.
On 09/08/2011 15:40, Philip Thompson wrote:
In the meantime, can't you set your own headers?
http://mootools.net/docs/core/Request/Request#Request:setHeader
~Philip
On Tue, Aug 9, 2011 at 1:27 AM, Lee <[email protected]
<mailto:[email protected]> <mailto:[email protected]
<mailto:[email protected]>>> wrote:
It s a problem because it is wrong.
My server is checking POST data and behaving as it ought to, ie
looking for the XML....
On 08/08/2011 22:30, Aaron Newton wrote:
I don't see how that creates a problem though. Request
doesn't
check to see what the headers the server responds with.
On Mon, Aug 8, 2011 at 11:40 AM, Lee <[email protected]
<mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>
<mailto:[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>>> wrote:
Thanks, Aaron. The problem isn't the request
headers, or the
server, but that the content-type is set to
application/xml, when
the content body is not XML.
On 08/08/2011 18:25, Aaron Newton wrote:
As you can see, Request.JSON sets the
Accept/X-Request
headers
itself, manually (i.e. they are not options):
https://github.com/mootools/mootools-core/blob/master/Source/Request/Request.JSON.js#L28
But any other headers you wish to set may be
specified
in the
options.
Regardless, if your server responds with json
data, even of
the content type is not application/json, the
Request.JSON
attempts to send that data through JSON.decode and
should work.
On Mon, Aug 8, 2011 at 10:14 AM, Lee
<[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>
<mailto:[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>>
<mailto:[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>
<mailto:[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>>>> wrote:
No ideas? Should I file a bug report?
On 04/08/2011 13:49, Lee wrote:
Thanks for your reply.
Accept header relate to that which the
client is
able, and
prefers, to
accept. The content-type header is used to
describe the
content of the
media entity being transmitted. You can
see its
use most
plainly in
uploading images to a server.
My problem is that a JSON request is
being sent
with a
content-type
that describes an XML document, when no XML
document is
being
sent. I
would like to override this, and it is
not possible.
I presume this originates with the HTTP XML
Request object,
but do not
know Mootools core to address the issue, so I
thought
I'd post
here.
Just to be clear, the problem has nothing
to do
with the
server, which
is correctly responding to JSON.Request's
declaration
that it
has sent
an HTTP request entity of with a media
described
by the
content type
header of 'application/xml'.
Thanks
lee
On Aug 4, 10:26 am, Arian
Stolwijk<[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>
<mailto:[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>>
<mailto:[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>
<mailto:[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>>>> wrote:
Content-Type is to serve data, your
server
should check
the Accept and
X-Request headers. If that's
application/json it should
return a response
with the Content-Type as
application/json too.
In the Net tab of firebug or the
Network tab
of webkit
inspector you can see
the Request headers, which you set
with the
headers
option, and the response
headers, response content and more.
On Thu, Aug 4, 2011 at 9:45 AM,
Lee<[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>
<mailto:[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>>
<mailto:[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>
<mailto:[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>>>> wrote:
Hello list,
new Request.JSON({
url:
this.serverSideUri,
method: 'OPTIONS',
async: true,
emulation: false
}).send();
Firebug doesn't tell me anything
about this
request,
only the
response, which I am generating.
Problem seems to be that my server
(Apache 2)
sees the
request's
content-type headers as
application/xml.
I have tried adding content-type
headers
to the
request, to no avail -
it would be good for me, at
least, if any
parameter I
pass Request
clases overrode those the class
itself
defines
for the
request.
// All ineffective:
headers: {
'content-type' :
'application/json',
'contentType' :
'application/json',
'Content-Type' :
'application/json',
}
Do you want me to post this
somewhere else?
Thanks
Lee
--
http://lonestarlightandsound.com/