2014-11-18 5 views
1

У меня есть набор REST URI, которые я могу получить после аутентификации на сервере. Эта служба принимает вход JSON с регистрационной информацией и извлекает вывод JSON с идентификатором сеанса.Jquery ajax fail при вызове rest webservice

При использовании клиента Rest, как и хромированного расширения, все работает.

Теперь я хочу реализовать его с помощью JS, но, несмотря на возврат отказа, я не вижу никаких подробностей о том, что не так (сообщения об ошибках пустые), и ни один из них не смог найти то, что мне не хватает в моем коде.

$.ajax({ 
    // the URL for the request 
    url: "https://host002:50000/b1s/v1/Login", 

    // the data to send (will be converted to a query string) 
    data: { 
     UserName: "manager", 
     Password: "1234", 
     CompanyDB: "CUS_001" 
    }, 

    // whether this is a POST or GET request 
    type: "POST", 

    // the type of data we expect back 
    dataType : "json", 

    // code to run if the request succeeds; 
    // the response is passed to the function 
    success: function(json) { 
     $("<h1/>").text(json.title).appendTo("body"); 
     $("<div class=\"content\"/>").html(json.html).appendTo("body"); 
    }, 

    // code to run if the request fails; the raw request and 
    // status codes are passed to the function 
    error: function(xhr, status, errorThrown) { 
     alert("Sorry, there was a problem! " + xhr.responseText); 
     console.log("Error: " + errorThrown); 
     console.log("Status: " + status); 
     console.dir(xhr); 
    }, 

    // code to run regardless of success or failure 
    complete: function(xhr, status) { 
     alert("The request is complete!"); 
    } 
}); 

xhr.responseText всегда пуст. Состояние всегда является ошибкой. errorThrown всегда пуст.

Я также попробовал метод $ post, но получил то же поведение.

+0

Это может быть ограничение на использование кресторигина. Служба REST ваша? Если да, включили ли вы на него рекомендации по кроссингорину? – JohnP

+0

Ваш объект данных не JSON. –

+0

Я думал об этом, но, как я уже упоминал, он работал с клиентом REST в Chrome/Firefox. Поэтому я считаю, что кресторигина не должно быть ограничений. И да, служба REST находится на удаленном сервере, в другом домене. Tks! – Ralph

ответ

0

Ваш JSON неверен. Попробуйте использовать это

data: JSON.stringify({UserName: "manager", Password: "1234", CompanyDB: "CUS_001"}); 
+0

Спасибо за ваш вклад. Но это не причина. После изменения у меня возникла такая же проблема. – Ralph

0

При перемещении с одного URL на другой появляется сообщение об ошибке междоменной ошибки. Попробуйте сделать это. Вызов функции на том же URL-адресе с использованием ajax и оттуда используйте CURL запрос на ваш веб-сервис.

Смежные вопросы