отправка контента JSON с помощью JQuery, проблемы с типом MIME и сериализацией - PullRequest
2 голосов
/ 20 ноября 2011

Я пытаюсь отправить JSON в веб-сервис, который принимает JSON.

Функция 'basedtech.serializeOptions ()' возвращает объект Javascript в данный момент, но Я мог бы легко сделать, это вернуть строку. Обратите внимание, что хотя я установил параметр «принимает», отправленный заголовок «Accept: undefined», что приводит к некоторым сбоям на стороне сервера.

Почему я не могу указать правильный тип пантомимы в 'accept'?

$.ajax({
            url : basistech.processText_url,
            accepts : "application/json",
            contentType : "application/json",
            dataType : "json",
            data : basistech.serializeOptions(),
            type : "POST",
            success : function(data) {
               /* whatever */
            },
            error : function(jqXHR, textStatus, errorThrown) {
                $("#submit-button").busy("hide");
                alert(textStatus);
            }
        });
POST /r4dws/services/doc/processText HTTP/1.1
Host: localhost:15000
Connection: keep-alive
Content-Length: 1679
Origin: http://localhost:15000
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2
Content-Type: application/json
Accept: undefined
Referer: http://localhost:15000/r4dws/demo/xmltextbox.jsp
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: JSESSIONID=AB76A77DF6906229D281A931D7D10C3C
Request Payload
(messed up)

1 Ответ

4 голосов
/ 20 ноября 2011

Попробуй вот так ....,

$.ajax({
            url : basistech.processText_url,
            headers: { 
                     Accept : "application/json",
                     "Content-Type": "application/json"
            },
            dataType : "json",
            data : basistech.serializeOptions(),
            type : "POST",
            success : function(data) {
               /* whatever */
            },
            error : function(jqXHR, textStatus, errorThrown) {
                $("#submit-button").busy("hide");
                alert(textStatus);
            }
        });
...