基本的に私は、mysqlデータベースから場所をリストするJSONファイルを生成するサーバー上にphpスクリプトを配置しています。 jQuery Mobileを使用して、私はこれらの場所を表示するアプリケーションを開発しています。私のコードはChrome & Safariで動作しますが、Phonegapに移植すると機能しません。私はすべてインターネット上で検索しましたが、答えを見つけることができません:(jQuery Mobile&Phonegapを使用してJSONをロードしていますか?
(json.php)JSONを生成するためのPHPファイル:。
<?php
header('Content-type: application/json');
$server = "localhost";
$username = "xxx";
$password = "xxx";
$database = "xxx";
$con = mysql_connect($server, $username, $password) or die ("Could not connect: " . mysql_error());
mysql_select_db($database, $con);
$sql = "SELECT * FROM places ORDER BY name ASC";
$result = mysql_query($sql) or die ("Query error: " . mysql_error());
$records = array();
while($row = mysql_fetch_assoc($result)) {
$records[] = $row;
}
mysql_close($con);
echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');';
?>
私のアプリ内に位置
私のJavascriptファイル(ロードJSONそして、)それが表示されます。
$('#places').bind('pageinit', function(event) {
getPlaces();
});
function getPlaces() {
var output = $('#placeList');
$.ajax({
url: 'http://www.mysite.com/json.php',
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: 5000,
success: function(data, status){
$.each(data, function(i,item){
var place = '<li><a href="">'+item.name+'<span class="ui-li-count">'
+ item.checkins+'</span></a></li>';
output.append(place);
});
$('#placeList').listview('refresh');
},
error: function(){
output.text('There was an error loading the data.');
}
});
}
HTMLは次のようになります。
<div data-role="content">
<h3>Places</h3>
<ul data-role="listview" id="placeList" data-inset="true">
</ul>
</div><!-- /content -->
このコードはクローム012で動作しますSafariしかし、PhoneGapでxCodeシミュレータを実行すると、JSONはロードされません。
任意の助けもいただければ幸いです:)その実装は、これらの言語を使用してサーバ上でホストされていない限り、それは実行されませんサーバー側のスクリプトです
ルックのは役に立つかもしれない:顔をしています。しかし、XcodeでPhoneGapプロジェクトに.phpファイルを置くと、それは実行されません。なぜなら、私はそのサーバー側のスクリプトを言ったように...しかし、JQueryのものを実装するためにJavaScriptを使用すると、うん。 –
私は、コードを見て、PHPファイルがサーバー上で動作すると仮定します。 –