0

C#メソッドからの結果が空の場合はどうすればよいですか。

jQuery.ajax({
        type: "POST",
        url: "Me.aspx/Load",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",

            success: function (msg) {

                    alert(msg.d);
                }

});

が空の場合はアラートを出しません。

私が試してみました:

msg.length===0

error:

しかし、それを機能させることができませんでした。

ありがとうございました。

4

1 に答える 1

3

結果が空の文字列の場合は、空の文字列を確認する必要があります。

msg === ''

申し訳ありませんが、さらに良いです:

if (msg) {...}

msgがそうでないものである場合:

  • false
  • 0
  • ヌル
  • ''(空の文字列)
  • NaN
  • 未定義

に評価されtrueます。

サーバーに何を期待していますか?

編集:successプロパティを持つオブジェクトを返します。次のようになります。

{
    "success": true,
    ...
}

次に確認します

if (msg.success) { ... do stuff ...}

再編集

C#でどのように機能するかはわかりませんが、サーバーで操作しているオブジェクトをシリアル化する必要があります。これがあなたの(失敗した)オブジェクトだとしましょう:

response // and response.success = false

したがって、次のようなことを行う必要があります。

print json_encode(response);

それがあなたのJSプログラムに返されるように。

于 2013-03-09T19:10:10.007 に答える