我真的希望有人可以帮我解决我的问题。因为我真的被困了。 我正在尝试用jQTouch做一个wepApp。我所拥有的truble是从mysql数据库加载数据。它曾经工作,但后来我更新了jQTouch包以添加一些扩展。 所以现在最奇怪的事情正在发生。当我在iPhone上使用safari加载外部数据时,需要加载mysql数据。但是,如果我将页面添加到iPhone的家庭用户,它的工作原理。这怎么可能?
无论如何,这是代码:
$(document).ready(function() {
$("#admin li.arrow a, #kauf #adminAll, #tech #techAll, #dienst #dienstAll, #verkauf li.arrow a, #verkauf li.arrow a, #finanz li.arrow a, #informatik li.arrow a, #masch li.arrow a, #bau li.arrow a, #gewerbe li.arrow a, #med li.arrow a, #lebensmittel li.arrow a").tap(function (){
var linkId = $(this).attr("id");
//alert(linkId);
$('#liste').empty();
$.ajax({
type: "GET",
//cache: "false",
url: "listJobs.php",
data: "ajaxget=" + linkId,
success: function(data) {
//$("#liste").load(data);
jQT.goTo('#liste');
}
});
return false;
});
});
我也试着写一个tap功能,但我没有成功。所以,如果有人能给我一个指针,我也会高度赞同它。
这里是php:
<div class="toolbar">
<h1>smart personal</h1>
<?
$kat=$_GET["ajaxget"];
echo "<a class='back slide'>Zurück</a>
<a class='button flip' id='infoButton' href='#home'>Home</a>
</div>
<div class='s-scrollwrapper' momentum='false' vScrollbar='false'>
<div>";
echo "<ul class='rounded'>";
echo "<li class='suche'>Ihre Suche ergab <span class='zahl'>$numrows</span> Treffer</li>";
while($row = mysql_fetch_array($resultOutput)) {
$id=($row['stelleID']);
$datumsanzeige=($row['stelleDatumsanzeige']);
$datum=(date("d.m.y", strtotime($row["stelleDatum"])));
$today = date("d.m.y");
if($datumsanzeige == "fake")
{
$datumDef = "$today";
}
else
{
$datumDef = "$datum";
}
// Print out the contents of each row into a table
echo "<li><a href='stellenDetailiPhone.php?stelleID=$id'>";
echo $row['stellePosition'];
echo "</a><a class='nobg slide' href='stellenDetailiPhone.php?stelleID=$id'>";
$stelleIDDetail = $row['stelleID'];
$text=strip_tags (html_entity_decode($row['stelleStellenbeschrieb']));
// 0,100 show 100 Zeichen
echo substr($text,0,50);
echo "</a></li>";
}
echo "</ul></div></div>";
echo mysql_error();
mysql_close($con);
答案 0 :(得分:0)
看起来你的jQuery位没有对通过AJAX返回的数据做任何事情:
首先,检查AJAX调用是否返回任何数据。
1)直接在浏览器中转到URL并查看结果。如果一切看起来都很好,那么......
2)将jQTouch位调整为:
$(document).ready(function(){
$("#admin li.arrow a, #kauf #adminAll, #tech #techAll, #dienst #dienstAll, #verkauf li.arrow a, #verkauf li.arrow a, #finanz li.arrow a, #informatik li.arrow a, #masch li.arrow a, #bau li.arrow a, #gewerbe li.arrow a, #med li.arrow a, #lebensmittel li.arrow a")
.tap(function(){
var linkId = $(this).attr("id");
//alert(linkId);
$('#liste').empty();
$.ajax({
type: "GET",
//cache: "false",
url: "listJobs.php",
data: "ajaxget=" + linkId,
success: function(data) {
console.log( data );
//$("#liste").load(data);
jQT.goTo( '#liste' );
}
});
return false;
});
});
使用您的(假设iPhone / iPod / iPad)调试控制台进行测试 - 转到设置&gt; Safari&gt;开发人员&gt;调试控制台为ON。如果调用了AJAX操作并返回了数据,您应该会在浏览器窗口的顶部看到一条消息。
此外,您正在使用jQuery $.load()
函数使用(或已注释掉)调用。该函数基本上为您执行AJAX操作,您只需为其填充容器以及填充它的URL(以及可选元素)。因此,您可能会发现以下内容可以轻松完成工作:
$(document).ready(function(){
$("#admin li.arrow a, #kauf #adminAll, #tech #techAll, #dienst #dienstAll, #verkauf li.arrow a, #verkauf li.arrow a, #finanz li.arrow a, #informatik li.arrow a, #masch li.arrow a, #bau li.arrow a, #gewerbe li.arrow a, #med li.arrow a, #lebensmittel li.arrow a")
.tap(function(){
$("#liste").load( 'listJobs.php?ajaxget='+$(this).attr("id") );
return false;
});
});
正如我之前提到的,看起来你的#liste
元素正在被清空,但是没有通过AJAX调用添加新内容 - 如果/当AJAX调用成功时,你只是转移到该元素。
无论如何,您可以继续进行调试/故障排除。