0

我正在尝试使用 phonegap 和 jquery 从网站生成可下载文本文件的列表。单击“单击我”按钮时,应自动获取此列表。因此,如果将另一个文本文件添加到网站然后单击按钮,则新添加的文本文件也应该在列表中。现在,如果文件被抓取,我应该会收到“成功”的警报,但我得到了警告“错误”。我对这些技术非常陌生,所以如果有人能告诉我我在这里做错了什么,我将不胜感激。这就是我的 index.html 的样子:

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link rel="stylesheet" type="text/css" href="css/index.css" />
    <script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
  </head>
<script type="text/javascript" charset="utf-8"> 

    function getFiles()
    {
        $.ajax({
type: "POST",
url: "http://samplewebsite.com/index.php",
dataType: "jsonp",
success: function(data) {
    alert("success");
 },
  error: function(){
    alert("error");
  }
});

 }      
   </script>

    <button onclick="getFiles();">clickme</button>

  </html>

这是我在服务器上的 index.php 脚本:

$files = array();
$dir = opendir('/tmp');
while ($file = readdir($dir)) {
    if ($file == '.' || $file == '..') {
        continue;
    }
    $files[] = $file;
}

header('Content-type: application/jsonp');
echo json_encode($files);
4

1 回答 1

0

这就是我会做的(像魅力一样工作):

1-删除header('Content-type: application/jsonp');你的.php

2-使用$.getJSON()代替$.ajax()

$.getJSON('http://samplewebsite.com/index.php', function(data) {
    alert(data);        
});

代替

$.ajax({ ... });
于 2013-06-07T15:23:21.250 回答