21

I am using the jQuery ajax call like this:

$.ajax({
         url: WEBSERVICE_URL,
            type: "GET",
            dataType: "application/json; charset=utf-8",                   
            username: "admin",  // Most SAP web services require credentials
            password: "admin",
            processData: false,
            contentType: "application/json",
            success: function() {
               alert("success");
            },
            error: function() {
                   alert("ERROR");
                },
    });

Still the call is not going to web service. Everytime I am getting ERROR alert. Can somebody help me on this please?

0

3 Answers 3

47

If you are doing cross domain request:

$.ajax({
    url: "yoururl",
    type: "GET",
    dataType: 'json',
    xhrFields: {
         withCredentials: true
    }
});
Sign up to request clarification or add additional context in comments.

1 Comment

Note that some embedded browsers (like the web-view in Filemaker) that suppress the user/pass prompt, so this will not work for everyone.
14

Try using post for the method type, most webservices are secured and require transimssion using post and not Get

plus to help you debug the error and a response text to your error.

 $.ajax({
     url: WEBSERVICE_URL,
     type: "POST", //This is what you should chage
     dataType: "application/json; charset=utf-8",
     username: "admin", // Most SAP web services require credentials
     password: "admin",
     processData: false,
     contentType: "application/json",
     success: function () {
         alert("success");
     },
     error: function (xhr, ajaxOptions, thrownError) { //Add these parameters to display the required response
         alert(xhr.status);
         alert(xhr.responseText);
     },
 });

1 Comment

Note: the above won't work for digest authentication. See stackoverflow.com/questions/5288150/…
0

My 2 cents on this.

I wasted a ridiculous amount of time on this issue, but I solved it by changing my request's method from a GET to a POST.

The strange thing is that both method types (GET/POST) work when called via Postman but it only managed to hit my Web API endpoint when I changed it to a POST method.

Note that in my case, I'm only passing the grant_type as I'm using Windows Authentication so I didn't to pass a username or password when posting.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.