0

jquery ajaxを使用してWebサービスメソッド GetUserLandingPage(username,password) を呼び出そうとしています。これが私のコードです

    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 request エラーが発生しています。私の問題は何ですか?

4

1 に答える 1

0

呼び出しで Authorization ヘッダーを提供する必要があります。ユーザー名とパスワードのデータを json に変換するだけでは正しくありません。最初に文字列を base64 でエンコードする必要があります。そして、これへのajax呼び出しで。

(base64Encodedstring は「username:password」である必要があります)

$.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);
    }
});

また、次の URL も確認してください: http://sameproblemmorecode.blogspot.se/2011/10/creating-secure-restfull-wcf-service.html

于 2013-08-06T10:30:18.053 に答える