Skip to main content

nsurlrequest settings for POST



I am setting up a request to my server, I have been helped out with a few suggestions but I am wanting some clarification on a part of code.





in the second line of code, what are the setValue: and forHTTPHeaderField: values used for? I'm thinking forHTTPHeaderField: sets the mime type... but im not sure what setValue is for or how it effects my request.







[request setHTTPMethod: @"POST"];

[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];

[request setHTTPBody:postBodyData];







any help would be greatly appreciated.


Comments

  1. See the NSMutableURLRequest reference for the method description and HTTP documentation at 14.17 Content-Type section for the header information.

    More C-T details at the section 7.2.1


    Content-Type specifies the media type of the underlying data. Content-Encoding may be used to indicate any additional content codings applied to the data, usually for the purpose of data compression, that are a property of the requested resource. There is no default encoding.

    Any HTTP/1.1 message containing an entity-body SHOULD include a Content-Type header field defining the media type of that body. If
    and only if the media type is not given by a Content-Type field, the
    recipient MAY attempt to guess the media type via inspection of its
    content and/or the name extension(s) of the URI used to identify the
    resource. If the media type remains unknown, the recipient SHOULD
    treat it as type "application/octet-stream".

    ReplyDelete
  2. Every HTML request consists of a request header and body.

    In your example you define that the body of this request contains form data.

    If for example you want to submit a json structure as your request body, the content type of the request is to be set as "application/json".

    ReplyDelete
  3. In the case of content-type, it would be things like text/html, text/xml, or image/gif.

    The purpose here is to specify what type of data is being transmitted.

    For header field definitions, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html.

    For the different media types, see http://en.wikipedia.org/wiki/Internet_media_type.

    Also see the NSURLRequest reference for specifics of that class.

    ReplyDelete

Post a Comment

Popular posts from this blog

[韓日関係] 首相含む大幅な内閣改造の可能性…早ければ来月10日ごろ=韓国

div not scrolling properly with slimScroll plugin

I am using the slimScroll plugin for jQuery by Piotr Rochala Which is a great plugin for nice scrollbars on most browsers but I am stuck because I am using it for a chat box and whenever the user appends new text to the boxit does scroll using the .scrollTop() method however the plugin's scrollbar doesnt scroll with it and when the user wants to look though the chat history it will start scrolling from near the top. I have made a quick demo of my situation http://jsfiddle.net/DY9CT/2/ Does anyone know how to solve this problem?

Why does this javascript based printing cause Safari to refresh the page?

The page I am working on has a javascript function executed to print parts of the page. For some reason, printing in Safari, causes the window to somehow update. I say somehow, because it does not really refresh as in reload the page, but rather it starts the "rendering" of the page from start, i.e. scroll to top, flash animations start from 0, and so forth. The effect is reproduced by this fiddle: http://jsfiddle.net/fYmnB/ Clicking the print button and finishing or cancelling a print in Safari causes the screen to "go white" for a sec, which in my real website manifests itself as something "like" a reload. While running print button with, let's say, Firefox, just opens and closes the print dialogue without affecting the fiddle page in any way. Is there something with my way of calling the browsers print method that causes this, or how can it be explained - and preferably, avoided? P.S.: On my real site the same occurs with Chrome. In the ex