0
    $.ajax({
        url: "notifications.php",
        dataType: "json",
        success: function(responseJSON) {
            if (responseJSON.length > 0) {
                document.title = document.title.replace(/^(?:\(\d+\))?/, "(" + responseJSON.length + ") ")
                for (var i=0; i<10; i++) {
                    console.log(responseJSON[i].date_notify')
                }
            }
        }, error : function(x) {
            console.log(x.responseText)
        }
    })

Chromeでは次のエラーが発生します:

Uncaught TypeError:未定義のプロパティ'date_notify'を読み取ることができません

そして、この部分で問題for (var i=0; i<10; i++)を置き換える必要があることを理解しましたfor (var i=0; i<responseJSON.length; i++)。10個の結果のみが必要です...私のsql部分では、クエリを制限しませんでした。これが私の質問です

SELECT users.lastname, users.firstname, users.screenname, notifications.notify_id, 
notifications.tagged_by, notifications.user_id, notifications.post_id,                                                        
notifications.type, notifications.action, notifications.date_notify,
notifications.notify_id
FROM website.users users INNER JOIN website.notifications notifications
ON (users.user_id = notifications.user_id)
WHERE notifications.user_id = ? and notifications.action = ?
ORDER BY notifications.notify_id DESC
//LIMIT 10

これを変更する方法はありますか?

4

2 に答える 2

1

ループで ed 条件を使用ANDします。

for(var i=0; i<responseJSON.length && i<10; i++)

iこのようにして、エントリ数を超えるか、10 に達したときのどちらか早い方で、ループが終了します。エントリ数が 10 未満の場合は最初の条件が最初に false になり、10 件を超えるレコードがある場合は 2 番目の条件が最初に false になります。

于 2012-05-06T14:42:56.337 に答える
1

SQL クエリを制限します。使用しないデータのためにネットワーク帯域幅とサーバー リソースを消費する理由はありません。データが機密性の高い場合の潜在的なセキュリティ上の懸念については言うまでもありません。

于 2012-05-06T14:57:41.233 に答える