2015-08-03 61 views
0

我寫了下面的代碼從外部URL讀取JSON文檔。這工作得很好,當URL是如下:JSON網址不能使用參數

http://localhost/EWSimpleWebAPI/odata/Users? 

但不是當我修改URL如下所示:

http://localhost/EWSimpleWebAPI/odata/Users?$filter=USER_NAME%20eq%20%27corpnet\anuwlk%27&$select=PROFILE 

的Javascript

var xmlhttp = new XMLHttpRequest(); 

var url = "http://localhost/EWSimpleWebAPI/odata/Users?$filter=USER_NAME%20eq%20%27corpnet\anuwlk%27&$select=PROFILE"; 

xmlhttp.open("GET", url, true); 

xmlhttp.onreadystatechange=function() { 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
    myFunction(xmlhttp.responseText); 
    errorAlert("Status OKAY"); 
    } else{ 
    errorAlert("Status Not OKAY") 
    } 
} 

xmlhttp.send(); 

我檢索JSON文檔通過使用OData的Web API。 OData接受URL中的參數,並且它在POSTMAN中正常工作。我正在開發谷歌瀏覽器擴展程序,我不確定它是否支持帶有參數的URL。

+2

您的網址有一個未轉義的控制字符'\ a',應該是'\\ a'。由於問題是拼寫錯誤,我投票結束了這個問題。 – wOxxOm

+0

謝謝,您的評論解決了我的問題 – wishman

回答

3

這將是最好使用一些功能(encodeURIComponent(str)encodeURI(str)想到)正確編碼參數。

正如wOxxOm所評論的,您的問題似乎是其中一個參數有一個非轉義字符\

+0

嗨,如何在我的代碼中使用ecodeURIComponent()? – wishman

+1

[看到這個答案清晰](http://stackoverflow.com/questions/75980/best-practice-escape-or-encodeuri-encodeuricomponent) – JMCampos

+0

謝謝,我明白了! – wishman