这可能是一个愚蠢的问题,但我不熟悉Web编程。我正在尝试使用客户端JavaScript和CORS与Google云端硬盘进行通信。我第一次使用jsclient库并且工作正常:
request = gapi.client.drive.files.list( {'q': " trashed = false " } );
使用CORS,我的代码如下:
var xhr = new XMLHttpRequest();
xhr.open('GET','https://www.googleapis.com/drive/v2/files');
var mysearch = encodeURIComponent("q=trashed=false");
xhr.open('GET',"https://www.googleapis.com/drive/v2/files?" +mysearch,true);
xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
xhr.onload = function() { handleResponse(xhr.responseText); };
xhr.onerror = function() { handleResponse(null); };
xhr.send();
我试过了:
var mysearch = encodeURIComponent("q=trashed=false");
var mysearch = encodeURIComponent("trashed=false");
var mysearch = encodeURIComponent("q='trashed=false'");
它们都返回所有文件的列表。如果我没有搜索字符串,我也会收到所有文件。
我也希望有其他搜索参数,使用&,但我不能只使用一个。 如何格式化mysearch字符串?
答案 0 :(得分:0)
仅对参数的值部分进行编码:
var url = 'https://www.googleapis.com/drive/v2/files?q=' + encodeURIComponent("'trashed=false'")