2013-08-06 8 views
0

Я пытаюсь вызвать метод webservice GetUserLandingPage (имя пользователя, пароль) с помощью jquery ajax. Вот мой кодВызов веб-службы WCF с помощью ajax

var userName=$("#txt_userName").val().trim(); 
    var password=$("#txt_userPassword").val().trim(); 

    var data={ 
    "username":userName, 
    "password":password 
    }; 
    var jsonData=JSON.stringify(data); 
    $.ajax({ 
    url: "http://www.coolcomma.com/user.svc/GetUserLandingPage", 
    type:"GET", 
    data:jsonData, 
    contentType: "application/json", 
    dataType: "jsonp", 
    crossDomain : true, 
    success: function(result){ 
     alert(result); 
    } 
}); 

Когда я бегаю страницу в браузере 400 Bad ошибка запроса является occuring.Any идея, что моя проблема?

ответ

0

Вы должны указать заголовок авторизации в своем запросе. Простое преобразование данных имени пользователя и пароля в json неверно. Сначала вам нужно сначала закодировать строку base64. И в призыве ajax к этому.

(The base64Encodedstring должен быть "имя пользователя: пароль")

$.ajax({ 
    headers : { 
    "Authorization" : "Basic base64Encodedstring" 
    }, 
    type: "GET", 
    xhrFields: { 
     withCredentials : true 
    }, 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success : function(data) { 
     console.log("ok!"); 
    }, 
    error : function(jqXHR, textStatus, errorThrown) { 
     console.log(textStatus + ' | ' + errorThrown); 
    } 
}); 

Кроме того, проверить этот адрес: http://sameproblemmorecode.blogspot.se/2011/10/creating-secure-restfull-wcf-service.html

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