母国語ではなくjavascriptなどを使用するiceniumを使用して、モバイルデバイス用のアプリ(Webアプリではない)を作成しています。
アプリはデータベースからの行を表示し、イベントを表示します。次に、ユーザーはイベントに関する詳細情報を表示するイベントをクリックしますが、以下のようにjs関数からajaxを呼び出すのに問題があります。
function showSingle(itemId){
//document.write(itemId);
$('#output').fadeOut();
$('#single').fadeIn("fast");
$.ajax({
url: 'http://dev.123456789.co.uk/getSingle.php',
dataType: 'jsonp',
data: { dbId: itemId },
jsonp: 'jsoncallback',
timeout: 5000,
success: function(data, status){
var linkedPageSingle = '<h2>'+item.eventName+'</h2>'
+ '<p>Description: '+item.description+'</p><p>Type: '
+ item.type+'</p><p id="pageid">'+item.id+'</p>';
$('#single').append(linkedPageSingle);
// pageId = $('#pageid').html();
$('#single').text('debugdebug.');
},
error: function(){
$('#single').text('There was an error loading the data.');
}
});
}
これはデータを返しません。$('#single')。text('debugdebug。');も返しません。それで、ajax呼び出しに問題があるに違いありませんか?また
error: function(){
$('#single').text('There was an error loading the data.');
}
出力されません。これでエラーを見つけることができますか?関数の呼び出しは次のとおりです。
var linkedPage = '<h2><a href="#" onClick="showSingle('+item.id+')">'+item.eventName+'</a></h2>'
+ '<p>Description: '+item.description+'</p><p>Type: '
+ item.type+'</p><p id="pageid">'+item.id+'</p>';
これは、ページのdocument.readyセクションのajaxメソッド内にあります(これは機能します)。
getSingle.php:
<?php
/*
* Script to connect to database and pull out information for app!
*/
include 'connect.php';
$dbId = $_POST['dbId'];
$query = mysql_query("SELECT * FROM calTest where `id`='$dbId'");
$records = array();
while($row = mysql_fetch_assoc($query)) {
$records[] = $row;
}
echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');';
?>
どこが間違っているのかわからない、ありがとう!