2016-05-15 71 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; 

?>