5

この問題は、PlayStation 3、4、Xbox360、Xbox One で再現されています。この問題は、AjaxPro のすべてのバージョンに存在します。

(AjaxPro を使用して) Ajax 要求を行うと、サーバーは正しいコンテンツを返します。ただし、コールバック関数で返されるオブジェクトは

{
   "error": 
    {
     "Message":"","Type":"ConnectFailure","Status":200},"value":null,
     "request":
     {
       "method":"MethodName",
       "args":
       {
          "Argument1":"1111","Argument2":"2222"
       }
     },
    "context":null,"duration":18
   }
}
4

3 に答える 3

2

この問題のヒントは

"Message":""

AjaxPro の core.ashx ファイルは、core.js を使用して生成されます。

core.js では、次のコードは、サーバーの応答が受信されたときに応答オブジェクトを生成する役割を果たします。

   if (this.xmlHttp.status == 200 && this.xmlHttp.statusText == "OK") {
        res = this.createResponse(res);
    } else {
        res = this.createResponse(res, true);
        res.error = { Message: this.xmlHttp.statusText, Type: "ConnectFailure", Status: this.xmlHttp.status };
    }

何らかの理由で、識別されたプラットフォームのブラウザは xmlHttp.statusText を「OK」として返しません。代わりに空です。これにより、AjaxPro は "ConnectionFailure" 句に陥ります。

于 2014-09-22T19:31:02.577 に答える