1

jqueryプラグインを使用してWebサービスのajaxの問題を修正することができました。jquery.jsonp.jsと呼ばれます。今私の成功関数で私は捕まえられていない

 SyntaxError: Unexpected token < 

Chromeコンソールウィンドウでエラーが発生しました。私はこれを修正するためにさまざまな方法を試しましたが、途方に暮れています

$.jsonp({
    type: "POST",
    url: "http://localhost:49524/mobile/Android/AndroidWebServices.asmx/CheckLogin",
    data: "email="+u+"&password="+p,
    crossDomain:true,
    success: function (data) {
        var s = $(data).find('string').text();;
        alert(s);
    }
});

xmlから値を取得するためのより良い方法がある場合は、助けていただければ幸いです。

<string xmlns="http://wmstec.com/">true</string>

Webサービスから返されるXMLファイルです

 [WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string CheckLogin(string email, string password)
{

    string vid = "xxxx";

    //Get the User Information
    DB.User cur_user = DB.User.ByEmail(email.Trim());
    //if it failed, try by screen name
    if (-1 == cur_user.ID) { cur_user = DB.User.ByScreenName(email.ToLower()); }


    //Does their password match?

   if (cur_user.CheckPassword(password, vid))
    {
    // companys ToJSON function 
       return Utility.ToJSON("true");
    }
    else
    {
        return Utility.ToJSON(return "false");
    }
}

アップデート

$.ajax({
    type : "GET",
    url: "http://localhost:49524/mobile/Android/AndroidWebServices.asmx/CheckLogin",
    crossDomain:true,
    data: "email="+u+"&password="+p,//({ email: u, password: p}),
    dataType :"jsonp",
    contentType: "application/json; charset=utf-8",
    success : function(data){
        alert(data);}

});

同じものを返します..したがって、必ずしも問題であるjsonpプラグインではありません..明らかにユーザーの問題です笑..

4

1 に答える 1

2

jquery.jsonp.jsJSON-P で表現されたデータに HTTP 経由でアクセスするためのライブラリです。

<string xmlns="http://wmstec.com/">true</string>JSON-P ではなく、XML として表現されたデータです (JSON-P はapplication/javascript、サービスのデータをその呼び出しの引数とする (定義した関数への) 単一の関数呼び出しで構成されるプログラムで構成されます)。

このアプローチを使用する場合は、JSON-P を出力するように Web サービスを変更する必要があります。

于 2013-02-26T16:07:31.773 に答える