【问题标题】:Getting AJAX to work in PhoneGap让 AJAX 在 PhoneGap 中工作
【发布时间】:2013-11-09 06:33:42
【问题描述】:

现在我需要使用 phonegap 调用另一个网络服务器上的 php 脚本来从我拥有的数据库中检索数据。使用硬代码运行脚本可以正确检索数据,但它显示为 ajax 调用没有返回任何内容,或者甚至没有将数据作为 post 获取。目前在控制台中我收到"Origin null is not allowed by Access-Control-Allow-Origin. "

    $(document).ready(function() {      
       $('.check').click(function(){
       alert("Step1");
       var thisID    = $(this).attr('id');
       alert(thisID);

       $.ajax({
           type: "POST",
           url: "http://csmaster.sxu.edu/group2/group2/CougarLunch/retrieveColumn.php",
           data: { ID: thisID},
           cache: false,
           async:true,
           datatype: "json",
           success: function(data)
               {
             console.log(data);
             alert(data.ItemID);
              }

          });
          }); 
          });

PHP 如果它是相关的,我对此表示怀疑

    if(isset($_POST['ID']))
      {
       $ID = $_POST['ID'];
       function retrieve($ID)
         {
          $stmt = $mysqli->query("SELECT * FROM  group2.menu  WHERE ItemID = $ID");

          if($stmt->num_rows) //if there is an ID of this name
            {  
              $row = $stmt->fetch_assoc();
              echo $row;
              print json_encode($row);  

           }
        }

【问题讨论】:

  • 当它是手机上的实际应用时,你不应该受到跨域策略的限制。
  • 1 为什么会这样? 2. 当我在 chrome 中启动它时它已经无法正常工作,所以我对此表示怀疑。
  • 您是否在 phonegap 配置中将域列入白名单?
  • 请注意此代码header("Access-Control-Allow-Origin: "*");,因为它本质上会打开您的 PHP 文件,以完全由任何 AJAX 请求运行,因此理论上我可以从我的网站向您的网站编写 AJAX 调用,并且访问该 URL 上可用的任何数据。我建议搞乱console.log(document.URL);,看看是否可以缩小PhoneGap 可能模拟的URL/域。从不同的手机、桌子、网络、wifi 开/关等尝试。

标签: php jquery ajax database cordova


【解决方案1】:

将此行添加到 php 文件的顶部以允许访问:

 header("Access-Control-Allow-Origin: "*");

【讨论】:

    【解决方案2】:

    需要传入AndroidManifest.xml

    <access origin="*" />
    

    phonegap doc

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多