2011-07-11 51 views
2

我剛剛如何將我的xmlhttp請求轉換爲可以執行操作的字符串?如何將xmlhttprequest轉換爲字符串javascript

說,我在變量 「TXT」 像這樣的XMLHTTP請求(我打開一個普通的.html文件進行讀取)

function handleXML(){ 
checkState(xmlhttp, function() { 

var txt=xmlhttp.responseText + ""; 
txt.replace(/<&#91;^>&#93;*>/g, ""); 
//Convert txt into a string so that I can use it 
}); 
} 

編輯* * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *

爲什麼我想知道是因爲下面的函數不能與參數「txt」一起工作,但對任何其他字符串參數都能正常工作

var buildName = "random"; 
var myvar = ""; 
myvar = lcs(txt, buildName); 

function lcs(lcstest, lcstarget) { 
    this.lcstest = lcstest;//Don't work 
this.lcstarget = lcstarget; 
//But this works this.lcstest = "some random string" 
matchfound = 0; 
lsclen = lcstest.length; 
    for(lcsi=0; lcsi<lcstest.length; lcsi++){ 
    lscos=0; 
    for(lcsj=0; lcsj<lcsi+1; lcsj++){ 
    re = new RegExp("(?:.{" + lscos + "})(.{" + lsclen + "})", "i"); 
    temp = re.test(lcstest); 
    re = new RegExp("(" + RegExp.$1 + ")", "i"); 
     if(re.test(lcstarget)){ 
     matchfound=1; 
     result = RegExp.$1; 
     break; 
     } 
    lscos = lscos + 1; 
    } 
    if(matchfound==1){return result; break;} 
    lsclen = lsclen - 1; 
    } 
    result = "fgh"; 
    return result; 
} 
+3

'txt'應該已經是一個字符串。它是什麼類型? –

+0

@john - 現在檢查我的答案 –

+0

@john - try this.lcstest =「」+ lcstest;或者試試這個。lcstest = new string(lcstest) –

回答

0

不需要做任何事情只需將替換函數的返回值賦給變量本身就可以完成您的任務。

txt = txt.replace(/<&#91;^>&#93;*>/g, ""); 

編輯

你需要decalre你var txt出方handleXML功能。在lcs函數中訪問它的值。

var txt; 

function handleXML(){ 
checkState(xmlhttp, function() { 

txt=xmlhttp.responseText + ""; 
txt.replace(/<&#91;^>&#93;*>/g, ""); 
//Convert txt into a string so that I can use it 
}); 
} 

編輯

嘗試this.lcstest = "" + lcstest;

,或者嘗試

this.lcstest = new string(lcstest) 
+0

請再看看,它顯然不是一個字符串,因爲我調用的方法是與其他字符串一起工作,而不是使用xmlhttp請求字符串。我已經檢查和document.write(txt)的作品,它打印出的網頁罰款。 =) – Matt

+0

這不是問題,如果我在函數lcs中執行document.write(lcstest),它會打印出我正在閱讀的所有內容。並且該網頁包含單詞「random」,它應該由函數返回,但事實並非如此,lcstest不會被函數lcs當作字符串來處理,而且我也不會爲難? :/ – Matt

+0

它沒有工作:/ – Matt