AJAX,英特尔 XDK 不工作

Posted

技术标签:

【中文标题】AJAX,英特尔 XDK 不工作【英文标题】:AJAX, intel XDK not working 【发布时间】:2015-07-31 23:35:45 【问题描述】:

我刚刚说过使用 XDK,我认为它是一款出色的软件。我想在我的 APP 中使用 php 文件并调用 XAMPP 数据库。

我知道我必须使用 jquery/AJAX 通过 PHP 文件进行连接。

我的第一步只是让 AJAX 调用与 JSON 一起工作。我不断收到错误,例如访问被拒绝,以及 localhost 服务器的 404 错误。

我已经在 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."'" . ')';

      
?>

我不是 100% 了解上面的 JSON 我很少使用这种方法,但有人告诉我它最适合移动应用程序。

如果可能的话,如果有人可以就如何使用 Xampp mysql 设置 XDK 提供一些建议,并让我知道我上面的代码是否会将任何内容返回到我的索引页面,以便我知道它的工作原理。

我可以使用保存在“www”项目中的 php 文件吗?可以找到绝对没有关于使用 XDK 设置 XAMPP 的文档。如果这是唯一的方法,我可以访问 Web 服务器,因此可以将文件放在那里。我确实花了 2 个漫长的夜晚试图解决我的问题 -

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

【问题讨论】:

【参考方案1】:

您不能在英特尔 XDK 项目中使用 php,英特尔 XDK 用于以 HTML、CSS 和 javascript 编写应用程序。以 JSON 格式提供数据的 php 代码应托管在远程服务器上。您编写的 HTML5 应用可以通过 AJAX 调用来获取 JSON 数据并在应用中显示。

【讨论】:

我想使用 Xampp 作为我的远程服务器,我是否将文件从项目目录中取出并将它们放在 htdocs 中的项目之外 如果我的文件位于我托管的站点的远程服务器上,我该如何引用 URL www.address.com/test.php? 是的,你有远程服务器的 url 参考。如果您想在项目中使用本地数据库,则必须使用 html5 数据库,例如 IndexedDB。英特尔 XDK 项目中只能有 html5 代码,英特尔 XDK 项目中不能有 Xampp 我知道我应该能够设置 XAMPP 以使用 XDK。 JSON 是否有效,所以我可以在 prat 知道这是正确的 你指的是哪个 JSON?【参考方案2】:

我有这个工作。感谢@TasosAanastasiou,我在很大程度上得到了一些(根据声明)帮助的xampp。

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

或者

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

注意:我遇到了一些问题,我不得不更改我的 apache 配置文件以使用 xampp 新安全协议......

我在这里再次使用了来自@TasosAanastasiou 的建议的答案

它现在可以完美运行,我的 xdk 可以与 Xampp 和 MySQL 一起使用

我会发链接。

这是它进入聊天的原始问题,因此未发布答案 Intel XDK, AJAX and XAMPP mySQL connection

这是 apache 链接: Error when trying to access XAMPP from a network

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

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

【讨论】:

以上是关于AJAX,英特尔 XDK 不工作的主要内容,如果未能解决你的问题,请参考以下文章

英特尔 XDK:文件 I/O

英特尔 XDK 的云构建如何工作?

英特尔 Xdk 使用 Crosswalk Cordova 混合平台构建,但本地小部件无法正常工作

无法使用谷歌地图 API JS 在英特尔 xdk 中看到谷歌地图

英特尔 xdk 科尔多瓦本地插件不起作用

如何在英特尔 xdk 的列表视图中显示 json 数据