2016-07-10 21 views
0

ローカルに保存されているxmlを読みたいので、javascriptで読み書きしたいです。この場合javascriptからローカルXMLを読み取る

function saveBaseValue() 
{ 
    var xmlhttp; 
    var XMLname="file:///C:/Users/setting.xml" 
    if (window.XMLHttpRequest) 
    { 
    xmlhttp=new window.XMLHttpRequest(); 
    xmlhttp.open("GET",XMLname,false); 
    alert(xmlhttp.responseXML); 
    } 

} 

を次のように私のコードがある 、xmlhttp.responseXMLはnullです。

+0

'XMLHttpRequest'.onload'イベントハンドラを使用して、非同期要求の結果を読み込みます。 'xmlhttp.onload = function(){alert(xmlhttp.responseXML)};' – guest271314

+1

[xmlhttprequest for local files]の可能な複製(http://stackoverflow.com/questions/7683596/xmlhttprequest-for-local-files) –

+0

guest271314:同期リクエストが必要な場合はどうすればよいですか? –

答えて

2

次のコードを使用して目標を達成できます。

<!DOCTYPE html> 
<html> 
<head> 
<script> 
function saveBaseValue() 
{ 
    var xmlhttp; 
    var XMLname="file:///C:/Users/setting.xml" 
    if (window.XMLHttpRequest) 
    { 
    xmlhttp=new window.XMLHttpRequest(); 
    xmlhttp.onreadystatechange = function() 
    { 
     if (xmlhttp.readyState == 4) 
     {  
     alert(xmlhttp.responseXML); 
     } 
    }; 
    xmlhttp.open("GET",XMLname,false); 
    xmlhttp.send(); 
    } 
} 
saveBaseValue(); 
</script> 
</head> 
<body>  
    <h1>Test</h1> 
</body> 
</html> 

しかし、デフォルトでは、ブラウザを使用して、このセキュリティ問題としてこのローカルファイルにアクセスすることを許可しませんが、あなたはすべてのクロムのインスタンスを閉じ、それをアクセスしたい、とにかく場合は、コマンドプロンプトになった、にディレクトリを変更chrome.exeが存在し、コマンドの下で実行されます。

.\chrome.exe --allow-file-access-from-files --disable-web-security 
関連する問題