【问题标题】:Cordova Ajax communication with server does not workCordova Ajax 与服务器的通信不起作用
【发布时间】:2016-09-22 03:47:10
【问题描述】:

我是 phonegap 初学者。

我只是开发简单的注册页面。我也在本地制作了简单的 php 代码。

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "wifoot";
// Create connection
$con_main = mysqli_connect($servername, $username, $password, $dbname);

// Check connection
if (!$con_main) {
        die("Connection failed: " . mysqli_connect_error());
}
$email = $_POST['email'];
$password = $_POST['pass'];

$sql = "INSERT INTO user(email, password) VALUES ('$email', '$password')";
$result = $con_main->query($sql);
if ($con_main->connect_error)
{
    $json = array("status" => 0, "msg" => 'fail');
}
else{

    $json = array("status" => 1, "msg" => 'success');
}
$con_main->close();

category($json);
function category($answer){
    header('Content-type: application/json');
    echo json_encode($answer);
}

这是 jQuery 代码:

 $("#create-account").click(function(){

    var email =   $("#create_email").val();
    var pass  =   $("#create_password").val();

    if(!$(this).hasClass('disabled')) {
        $.ajax({
            url:"http://localhost:81/index.php",
            type: 'POST',    
            dataType: 'json',
            data: {email: email, pass: pass},
            beforeSend: function () {

            },
            success: function(data) {
                //alert(data.msg);
                if(data.status == '1'){
                     window.location = "welcome.html";
                }
                else{
                    alert("Having some connection issue...");
                     window.location = "welcome.html";
                }
            },
            complete: function () {

            },
            error: function() {
                alert("Having some connection issue...");
                window.location = "welcome.html";
            }
        });
    }

});

它在我的本地运行良好。但是当我构建android时,它总是说'连接错误'。

好的。我自己修好了。那很简单。 <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; connect-src http://sample.com">

我可以添加这个元数据。在“connect-src”中,我添加了 url。所以它运作良好。我认为这将有助于电话差距初学者。 谢谢

【问题讨论】:

  • 效果很好。谢谢纳雷什库马尔。

标签: php android ajax cordova


【解决方案1】:

您无法使用 localhost 通过移动应用程序连接到本地服务器。而不是 localhost 在 ajax 调用中使用您的 ipaddress

并确保服务器和手机在同一网络上。

【讨论】:

  • 您好,先生。感谢您的答复。所以我用'192.168.1.107:81/index.php'代替。但它仍然有同样的错误。
  • 你在 config.xml 中也改变了吗?
  • 还可以尝试更改 ajax 调用中的参数,如下所示。数据:JSON.stringify({email: email, pass: pass})
猜你喜欢
  • 2019-08-03
  • 2020-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多