2011-06-04 30 views
2

我真的很希望有人能幫我解決我的問題。因爲我現在真的被卡住了。 我想用jQTouch做一個wepApp。我正在從數據庫加載數據。它曾經工作,但後來我更新了jQTouch包以添加一些擴展。 所以現在最棘手的事情正在發生。當我用iPhone上的Safari瀏覽器加載外部數據時,需要加載mysql數據。但是,如果我將該頁面添加到iPhone的操作系統,它就可以工作。這怎麼可能?jQTouch加載外部PHP不能正常工作

總之,這裏是代碼:

$(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; 
});  
});   

我也tryed寫一個水龍頭的功能,但我對沒有成功。所以如果任何人都可以給我一個指針,我也會高度讚揚它。

而且這裏的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

你也應該發佈相關的PHP – 2011-06-04 13:13:49

回答

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; 
    }); 

}); 

並與您(assumedly的iPhone/iPod/iPad的)調試控制檯測試它 - 進入設置> Safari>開發人員>調試控制檯打開。如果調用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調用成功時簡單地移動到該元素。

無論如何,這是您開始能夠繼續調試/故障排除。

+0

嗨盧卡斯感謝您的回答。我用firebug在Firefox中測試了代碼,一切正常,沒有錯誤。然後我將它改爲輕擊功能。隨着開發者在手機上的Safari瀏覽器,我只是從jqt.bars.js獲得了一大堆控制檯通知。但它完全想用tap功能工作。 – Rilana 2011-06-04 14:16:19

+0

我真的很喜歡第二個代碼選項!如果它能夠工作,那將會更簡單和更酷,但只要我使用水龍頭的東西似乎根本不適合我...... ??? – Rilana 2011-06-04 14:23:28

+0

對不起,我又來了!如果我使用click來替代.tap,那麼它可以與第二個選項一起使用,但是隻能在主屏幕上保存圖標,而不是直接在safari中,並且它似乎跳躍,它會加載並重新加載以獲取信息... – Rilana 2011-06-04 14:28:51