2017-09-09 8 views
-4

リモートのmysqlデータベースに接続したいコードバアプリケーションがあります。実際に私はいくつかのデータ(たとえば、ユーザー名)をデータベースに挿入したいと思います。あなたは簡単な例で私を助けてくれますか?私はインターネット上で多くのことを読んだことがありますが、コードワでは何もできません。私は、AJAXを使ってPHPスクリプトを呼び出さなければならないことを知っています。単純なWebアプリケーションではうまく動作しますが、コードワではうまく動作しません。サンプルコードをお願いしますか?フォームの入力値(例えば文字列)を取得し、リモートmysqlデータベースにデータを格納するために送信するだけで済みます。どんな助けでも本当に感謝しています。私のcordovaアプリからリモートのmysqlデータベースに接続するには?

+1

私たちにあなたのコードを教えてください。それはまったく同じように動作するはずです。コンソールにエラーがないかどうかチェックし、 'meta'タグをデフォルトのCordova' index.html'がセキュリティ上の理由で多くのリクエストベースのアクションを防止するのを確認してください。 – Script47

答えて

0
<html> 
<head> 
    <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 *; img-src 'self' data: content:;"> 
    <meta name="format-detection" content="telephone=no"> 
    <meta name="msapplication-tap-highlight" content="no"> 
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> 
    <link rel="stylesheet" type="text/css" href="css/index.css"> 
    <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.js"></script> 
    <link rel="stylesheet" href="js/libs/jqueryui/css/base/minified/jquery-ui.css" > 
    <script> 

    </script> 
</head> 
<body> 
    <div id="demo"></div> 
    <div data-role='page' id='UsersSignUp'> 
     <div data-role='header' class='ui-content'> 
      <h1>Sign up for free</h1> 
      <p>please fill out the form</p> 
     </div> 
     <div data-role='main' class='ui-content'> 
      <form id="signupForm"> 
       <input type='text' id='username' name='username'> 
       <input type='button' value='submit' class='blink' id="SignUpAjaxButton"> 
      </form> 
     </div> 
     <div data-role='footer'> 
      <p>&copy; OnLineGym.com</p> 
      <p>Created by <a href='mailto:[email protected]'>Teo Theodoridis</a></p> 
     </div> 
    </div> 
    <script type="text/javascript" src="cordova.js"></script> 
    <script type="text/javascript" src="js/index.js"></script> 
    <script type="text/javascript" src="js/libs/jquery/jquery.js"></script> 
    <script type="text/javascript" src="js/libs/jquery-ajaxtransport-xdomainrequest/jquery.xdomainrequest.min"></script> 
    <script type="text/javascript" src="js/libs/jqueryui/css/jquery-ui.js"></script> 
</body> 

0
var app = { 
// Application Constructor 
initialize: function() { 
    document.addEventListener('deviceready', this.onDeviceReady.bind(this), false); 
}, 
// deviceready Event Handler 
// 
// Bind any cordova events here. Common events are: 
// 'pause', 'resume', etc. 
onDeviceReady: function() { 
    this.receivedEvent('deviceready'); 

}, 
// Update DOM on a Received Event 
receivedEvent: function (id) { 
    var parentElement = document.getElementById(id); 
    var listeningElement = parentElement.querySelector('.listening'); 
    var receivedElement = parentElement.querySelector('.received'); 

    listeningElement.setAttribute('style', 'display:none;'); 
    receivedElement.setAttribute('style', 'display:block;'); 

    console.log('Received Event: ' + id); 
} 
}; 

app.initialize(); 

document.getElementById("SignUpAjaxButton").addEventListener("click", loadDoc); 

function loadDoc() { 
var str0 = $('#username').val(); 
window.alert(str0); 
/* var xhttp = new XMLHttpRequest(); 
xhttp.onreadystatechange = function() { 
if (this.readyState == 4 && this.status == 200) { 
document.getElementById("demo").innerHTML = this.responseText; 
} 
}; 
xhttp.open("GET", "http://127.0.0.1/register.php?q="+str0, true); 
xhttp.send(); */ 
} 
; 
0

あなたは、あなたがこのようなAJAX呼び出しを行うことができAngularJSを使用している場合:

var loadData = function() { 
    var config = { 
     params: { 
      whatever: xy 
     }, 
     timeout: 15000 
    }; 
    var url = 'http://yourdomain/api/data'; 
    return $http.get(url, config); 
}; 

あなたの角度のサービスでHTTPモジュールを注入することを忘れないでください。

AngularApp.factory('DataService', function ($http) { 

少なくともチェックしてくださいあなたのindex.htmlファイルでコンテンツ・セキュリティ・ポリシーは、このようなあなたのコルドバのアプリですべての呼び出しを許可する必要があります。

<meta http-equiv="Content-Security-Policy" 
    content=" 
    default-src * 'self'; 
    img-src 'self' data:; 
    style-src 'self'; 
    script-src 'self' 'unsafe-inline' 'unsafe-eval'; 
    "> 

次に、あなたが例えばほしいと思うものをサーバー上で行うことができmysqlデータベースを読み書きします。

+0

実際、私は角度を使用しないでください。私はJQuery Mobileを使用しています –

関連する問題