jquery xml 讀取 遇到 Chrome 就是有問題.
IE、Firefox、Safari、Opera 都執行正常.
但 Chrome 就是有問題. (firebug抓到的 Uncaught ReferenceError: $ is not defined)
有人知道如何修改嗎?謝謝.
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script>
<script type="text/javascript">
/* 讀取xml 開始 ------------------------------------------------------------------------------ */
$.ajax({
url:'http://192.168.0.20/1f/admin/sql.php?page=getstatus',
type: 'Post',
dataType: 'xml',//資料型態可以不設定,且此型態不可是text或html
timeout: 1000,
error: function(xml){
alert('讀取xml錯誤'+xml); //當xml讀取失敗
},
success: function(xml){
$(xml).find("item").each(function(i){
var total=$(xml).find("tables").length;//xml的筆數
alert($(xml).find("tables").length);
var numoftables = $(xml).find("tables").length;
for(j=0;j<numoftables;j++)
{
var itemsrc=$(this).find("ts_num").eq(j).text();
var itemstatus=$(this).find("ts_status").eq(j).text();
$('.ooxxaa ul').append('<li>'+itemsrc+'</li><br>');
$('.ooxxaa ul').append('<li>'+itemstatus+'</li><br>');
}
/* 讀取xml結束 ------------------------------------------------------------------------------ */
});
}
});
</script>
<div class="ooxxaa"> <ul></ul> </div>
先加下列這行...
<pre class="c" name="code">jQuery.support.cors = true;
我之前也是 $.ajax 有問題, 改用$.get 就 OK 了
<pre class="c" name="code">
$.get('ajax/test.html', function(data) {
$('.result').html(data);
alert('Load was performed.');
});
請問您知道
$.ajax 為什麼 14 15的Chrome不行.
而android 上的Chrome可以嗎?
正在了解原因中.
加在第一行.jQuery.support.cors = true;
這我知道.
但是14.15版的Chrome就是不行.
還是可以說一下.您測試可以的.code ,謝謝.
連$.support 都不支援說 XD
<pre class="c" name="code">
<script type="text/javascript" src="jquery-latest.js"></script>
<script>
jQuery.support.cors = true;
support = $.support;
for (key in support) {
document.write('support.' + key + ' = ' + support[key] + '<br />');
}
</script>
找到問題了.
感謝您的測試.
問題是 no script引起的.
萬分感謝中.
你改用
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
試試?
如果可以的話
應該是 Chrome 沒有等待 jQuery 展開他自己的Code 所造成的?
如果還有問題的話
請試著把你的code改以 setTimeout() 的方式觸發看看?
xml file
<pre class="c" name="code">
<?xml version="1.0" encoding="UTF-8"?>
<output><item><tables><ts_num>1</ts_num><ts_status>seat</ts_status></tables><tables><ts_num>2</ts_num><ts_status>empty</ts_status></tables><tables><ts_num>3</ts_num><ts_status>empty</ts_status></tables><tables><ts_num>4</ts_num><ts_status>empty</ts_status></tables><tables><ts_num>5</ts_num><ts_status>seat</ts_status></tables><tables><ts_num>6</ts_num><ts_status>seat</ts_status></tables><tables><ts_num>7</ts_num><ts_status>empty</ts_status></tables><tables><ts_num>8</ts_num><ts_status>empty</ts_status></tables><tables><ts_num>9</ts_num><ts_status>empty</ts_status></tables><tables><ts_num>10</ts_num><ts_status>empty</ts_status></tables><tables><ts_num>11</ts_num><ts_status>empty</ts_status></tables><tables><ts_num>12</ts_num><ts_status>empty</ts_status></tables><tables><ts_num>13</ts_num><ts_status>empty</ts_status></tables><tables><ts_num>15</ts_num><ts_status>empty</ts_status></tables><tables>
</item></output>
你說的測試不行 ^^.
你可以用 上面的 xml file 測測看.
我在測試你的XML的時候發生錯誤,你的XML裡面多了一個<tables>