AJAX,Intel XDK无法工作

3
我刚开始使用XDK,认为这是一款出色的软件。我想在我的APP中使用PHP文件,并调用XAMPP数据库。
我知道必须使用jquery / AJAX通过PHP文件进行连接。我的第一步只是使一个JSON的AJAX调用起作用。但我一直遇到访问被拒绝的错误和404错误,因为我正在目标localhost服务器上。
我已经在XDK中创建了我的PHP文件,这样做可以吗?还是在使用XAMPP时需要将它们放在htdocs中的其他位置。问题在于我不知道我要解决什么问题。我以为只需将目标定位到我的Xampp URL :localhost->然后路径到文件即可。
我也不知道我的jquery是否正常工作。
下面是我的ajax/jquery/index页面:
<!DOCTYPE html>

<html lang="en">
  <head>
<meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
      <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
 <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
   <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.css">
 <script src="https://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.js"></script> 
    <script>
      $(document).ready(function(){
    $("#btn1").click(function(e){
       e.preventDefault(); // prevent the default action of the click
           var fname = $("#name").val();
    $.ajax({

        type:     "GET",
        url: 'http://localhost/nearly/nearly/www/php/test.php;',
        data: {fname: fname},
        dataType: "jsonp",
        jsonp: 'callback',
        jsonpCallback: 'checkname',
        success: function(msg){
           msg=alert("hello");
    }
    });
});
      });

</script>
</head>
<body>

<div data-role="page">
  <div data-role="main" class="ui-content">
    <form method="get"  >
      <label for="name">First name:</label>
      <input id="name" type="text" name="name" id="name">
        <button id="btn1" type="submit">Go</button>
    </form>
  </div>
    <div id="table"></div>
</div>

</body>
</html>

我用PHP编写了一个处理程序,名为test.php:

<?php     
header("Content-Type: application/json");
 $fname = $_GET['firstname'];


         echo $_GET['checkname'] . '(' . "{'fullname' : '".$fname."'}" . ')';

      }
?>

我对上面的JSON并不完全了解,因为我很少使用这种方法,但听说它最适合移动应用程序。

如果可能的话,希望有人能提供一些关于如何在Xampp mySQL上设置XDK的建议,并让我知道我的代码是否会返回到我的主页,以便我知道它是否工作正常。

我可以使用保存在“www”项目中的php文件吗?我找不到任何有关设置XAMPP与XDK的文档。如果这是唯一的方法,我可以将文件放在Web服务器上。我已经花费了整整两个晚上来解决我的问题 -

非常感谢您的帮助。对于Xampp问题,我的项目保存在XAMPP的htdocs中。

2个回答

1
你不能在Intel XDK项目中使用php,Intel XDK是用于编写HTML、CSS和JavaScript应用程序的。您的用于提供JSON格式数据的php代码应该托管在远程服务器上。您编写的HTML5应用程序可以进行AJAX调用以获取JSON数据并在应用程序中显示。

我正在尝试使用Xampp作为我的远程服务器,那么我需要把项目目录中的文件移到htdocs目录之外吗? - Fintan Creaven
如果我的文件存储在我托管的站点所属的远程服务器上,我该如何引用URL www.address.com/test.php? - Fintan Creaven
是的,你需要引用远程服务器的URL。如果你想在项目中有一个本地数据库,那么你必须使用类似IndexedDB的HTML5数据库。在Intel XDK项目中只能使用HTML5代码,不能有Xampp。 - krisrak
我知道我应该能够设置XAMPP与XDK配合使用。JSON格式是否有效,以便我可以在实践中知道它是否正确。 - Fintan Creaven
你指的是哪个 JSON? - krisrak

0

我已经解决了这个问题。这在很大程度上要归功于@TasosAanastasiou的帮助。

要使用XDK和xampp,您必须设置虚拟服务器(我认为这是正确的术语)。这涉及登录到您的路由器并在端口80上进行端口转发。应用程序类型为HTTP Web服务器。完成后,您应该能够从浏览器中键入http://your_ip/xammp并获取xampp主页。请注意,您现在可以使用127.0.0.1(正常情况下)和您的your_ip获取此主页。然后,在您的XDK中,您脚本中的URL将使用http://your_ip/xampp/path到htdocs文件夹中的路径。

或者

http://your_ip/path到htdocs文件夹中的路径。

注意:我遇到了一些问题,其中我不得不更改我的Apache配置文件以处理xampp新的安全协议......

我在这里使用了@TasosAanastasiou的建议,现在它完美地运行了,我已经让我的xdk与Xampp和MySQL配合工作。

我将发布链接。

这是原始问题,它进入了聊天中,因此没有发布答案Intel XDK,AJAX和XAMPP mySQL连接

这是apache链接: 尝试从网络访问XAMPP时出错

这不是Tasos指导我的问题。解决方案是注释掉“拒绝所有”并添加“允许所有”,如上述问题所述。

此错误发生在端口转发练习之后。如果您正在与xampp交谈,则可能会关闭。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接