2016-05-15 73 views
0

我試圖從服務器上的某個目錄獲取圖像的數量。我使用PHP來計算圖像的數量,以及AJAX(在我的Chrome擴展中)從我的外部PHP文件中獲取圖像的數量。AJAX調用未在Chrome擴展中成功

這是要通過成功:函數{},但沒有運行的如果(數據){}。它也會偶爾提醒錯誤,並說出現以下錯誤:錯誤。我該如何解決?

main.js

... 


(function ($) { 
     $(document).ready(function(e) { 
      $.ajax({ 
       url: 'http://website.com/numberOfImages.php',  // <== POINTS TO THE VALID URL OF THE PHP FILE THAT OUTPUTS THE NUMBER OF IMAGES... 
       dataType: "HTML", 
       cache: false, 
       type: "POST", 

       //HANDLE THE SUCCESS CASE FOR THE AJAX CALL 
       success: function (data, textStatus, jqXHR) { 
        if(data){ 
         alert(data); 
        } 
       }, 

       //HANDLE THE FAILURE CASE FOR THE AJAX CALL 
       error: function (jqXHR, textStatus, errorThrown) { 
        alert('The following error occurred: ' + textStatus, errorThrown); 
       }, 

       //HANDLE THE EVENT-COMPLETE CASE FOR THE AJAX CALL 
       complete: function (jqXHR, textStatus) { 
       } 
      }); 
     }); 
    })(jQuery); 

manifest.json的

{ 
    "name": "some name", 
    "description": "Add description", 
    "version": "1.0", 
    "permissions": [ 
    "activeTab" 
    ], 
    "chrome_url_overrides" : { 
    "newtab": "main.html" 
    }, 
    "background": { 
    "scripts": ["jquery-2.2.3.min.js", "background.js"], 
    "persistent": false 
    }, 
    "permissions": [ 
    "activeTab", 
    "https://ajax.googleapis.com/", 
    "storage", 
    "tabs", 
    "http://*/*", 
    "https://*/*" 
    ], 
    "browser_action": { 
    "default_title": "some title" 
    }, 
    "manifest_version": 2 
} 

numberOfImages.php

<?php 

    $dir  = "/home/some/directory"; 
    $fi   = new FilesystemIterator($dir, FilesystemIterator::SKIP_DOTS); 
    $fileCount = iterator_count($fi); 

    die($fileCount); 

?> 
+0

從[模/退出基準](http://php.net/manual/en/function.exit.php)__If狀態是一個整數,其值將是用作退出狀態而不是打印出來的。所以你的腳本不會打印任何東西,除非你沒有顯示其他的代碼。這意味着數據將是一個空字符串,這是錯誤的。不要將die用作打印命令,其用於狀態消息。只需'回顯數字並結束腳本 –

+0

因此,我應該只是回顯整數,AJAX會將其提取出來? – Han

+0

它的工作,謝謝@PatrickEvans! :-) – Han

回答

0

@PatrickEvans一個評論已解答我的問題。謝謝。

我更新的代碼:

<?php 

    $dir  = "/home/some/directory"; 
    $fi   = new FilesystemIterator($dir, FilesystemIterator::SKIP_DOTS); 
    $fileCount = iterator_count($fi); 

    echo $fileCount; 

?>