台灣最大程式設計社群網站
線上人數
1237
 
會員總數:246046
討論主題:189631
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> responseText回傳字串的處理問題
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
responseText回傳字串的處理問題
價值 : 20 QP  點閱數:2895 回應數:0
樓主

老爹
門外漢
0 2
194 1
發送站內信

var temp_value = createXMLHttpRequest();

function createXMLHttpRequest()

{
if(window.XMLHttpRequest)
{
temp_value = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
temp_value = new ActiveXObject("Microsoft.XMLHTTP");
}
}

function handleStateChange()
{
if(temp_value.readyState == 4)
{
if(temp_value.status == 200)
{

var return_value = temp_value.responseText;

//以下為google map
var map;
var time = <?=$time?>;
var data = return_value;
var dataarray = [];
var k = 0;
var pointdata = "<?=$pointstr?>";
var pointarray = [];
var l = 0;
var pts = <?=$pts?>;
var ptsstr = "";

for(var i = 0;i < time;i++)
{
dataarray[i] = [];
}

for(var j = 0;j < time;j++)
{
dataarray[j][0] = data.slice(k,data.indexOf(",",k));
k = data.indexOf(",",k)+1;
dataarray[j][1] = data.slice(k,data.indexOf(",",k));
k = data.indexOf(",",k)+1;
}


for(var m = 0;m < pts;m++)
{
pointarray[m] = [];
}

for(var n = 0;n < pts;n++)
{

pointarray[n][0] = pointdata.slice(l,pointdata.indexOf(",",l));
l = pointdata.indexOf(",",l)+1;
pointarray[n][1] = pointdata.slice(l,pointdata.indexOf(",",l));
l = pointdata.indexOf(",",l)+1;

ptsstr = ptsstr+"new GLatLng("+pointarray[n][1]+","+pointarray[n][0]+"),";

}

//var result = ptsstr.slice(0,ptsstr.length-1);

var points = [];
for(var o = 0;o < pts;o++)
{
var point = new GLatLng(pointarray[o][1],pointarray[o][0]);
points.push(point);
}




if (GBrowserIsCompatible()){
/*map = new GMap(document.getElementById("gogobusmap")),
{ size: new GSize(950,600) } );*/

map = new GMap2(document.getElementById("gogobusmap"));
map.setCenter(new GLatLng(dataarray[0][1],dataarray[0][0]), 17);
//map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setUIToDefault();

map.enableGoogleBar();//產生goole 搜尋bar

var polyOptions = {geodesic:true};
var polyline = new GPolyline(points, "#0000ff", 5, 1, polyOptions);
map.addOverlay(polyline);

var myIcon = new GIcon();
//Icon 圖片 (必要)
myIcon.image = "http://fs2.just.edu.tw/~s9546202/pic/people.png";
//Icon 左上角相對於 (必要)
myIcon.iconAnchor = new GPoint(-3, 13);
//訊息視窗相對於 Icon 左上角位置 (必要)
myIcon.infoWindowAnchor = new GPoint(-3, 12);
//Icon 尺寸
myIcon.iconSize = new GSize(50, 28);

map.setUIToDefault();//
map.enableGoogleBar();//產生goole 搜尋bar

for(var l = 0;l<time;l++)
{
var myMarker = new GMarker( new GLatLng(dataarray[l][1], dataarray[l][0]), {icon:myIcon, draggable:false} );

map.addOverlay( myMarker );


//單擊事件
GEvent.addListener(myMarker, "click", function(){
myMarker.openInfoWindowHtml( "歡迎來到GOGOBUS!!!^.^了" );
});


}

}
//以上為google map

}
}
}

function doPostRequest()
{
var url = "http://fs2.just.edu.tw/~s9546202/rt_selbus.php?BusID="+Bus_ID; // 避免快取
createXMLHttpRequest();
//temp_value.onreadystatechange = function(){ handleStateChange(); };
temp_value.onreadystatechange = handleStateChange;
temp_value.open("GET", url, true);
temp_value.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
temp_value.send(null);


}
doPostRequest();
setInterval(doPostRequest,5000)




請問這段程式碼在執行之後為什麼會出現以下的錯誤呢?
網頁錯誤詳細資料

使用者代理程式: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
時間戳記: Mon, 17 Aug 2009 05:44:36 UTC


訊息: 不正確的引數。
行: 50
字元: 18
程式碼: 0
URI: http://maps.gstatic.com/intl/zh-TW_ALL/mapfiles/164e/maps2.api/main.js

我並沒有main.js的檔案@@"
而且當我把中間的var data = return_value;變成原本的var data = "<?=$data?>"他是都正常執行的
甚至連回傳的字串return_value用alert跟document.write都能正常執行沒有錯誤
就只有在把return_value的值給了其他變數之後就會有以上的錯誤耶...
或是直接var data = temp_value.responseText;也會有一樣的錯耶...
請各位幫忙一下了@@"這個用了好久都不行...
p.s另一個頁面是已經用","分隔好所echo的字串



搜尋相關Tags的文章: [ responseText ] , [ 字串 ] , [ 回傳 ] ,
本篇文章發表於2009-08-17 13:53
目前尚無任何回覆
   

回覆
如要回應,請先登入.