4

返された結果に特定の値が含まれているかどうかを確認するにはどうすればよいでしょうか?

$(function () {
    $('form').submit(function (e) {
        e.preventDefault();
        $.ajax({
            url: this.action,
            type: this.method,
            data: $(this).serialize(),
            success: function (result) {

               //here i wanna check if the result return contains value "test"
               //i tried the following..
                 if($(result).contains("test")){
                 //do something but this doesn't seem to work ...
                 }

                }
            },
        });
    });
});
4

3 に答える 3

17

Array.prototype.indexOf()

if(result.indexOf("test") > -1)

これはまだ票を獲得しているので、私はより現代的な答えで編集します。

es6を使用すると、より高度な配列メソッドを使用できるようになります。

Array.prototype.includes()

result.includes("test")これはtrueまたはfalseを返します。

Array.prototype.some()

配列に文字列ではなくオブジェクトが含まれている場合は、

result.some(r => r.name === 'test')これは、配列内のオブジェクトの名前がtestの場合にtrueを返します。

于 2013-02-06T12:07:19.170 に答える
12

jQuery オブジェクトにはメソッドがありませんcontains。返された結果が文字列であると予想される場合は、部分文字列がその中に含まれているかどうかを確認できます。

if ( result.indexOf("test") > -1 ) {
    //do something
}

結果が JSON で、最上位のプロパティをチェックしている場合は、次のことができます。

if ( result.hasOwnProperty("test") ) {
    //do something
}
于 2013-02-06T12:09:53.677 に答える
0

:contains() はセレクターです。ここから確認できますhttp://api.jquery.com/contains-selector/

この例では、以下のように indexOf を使用できます

于 2013-02-06T12:30:18.747 に答える