0
我正在使用Windows Azure移動服務爲我的應用程序構建後端。對於服務器腳本的讀取操作,現在我想檢索查詢參數,如$ filter,$ select在腳本中,等等。任何想法?如何檢索服務器腳本中的查詢參數
我正在使用Windows Azure移動服務爲我的應用程序構建後端。對於服務器腳本的讀取操作,現在我想檢索查詢參數,如$ filter,$ select在腳本中,等等。任何想法?如何檢索服務器腳本中的查詢參數
與在「讀」功能的參數「查詢」對象周圍黑客攻擊(通過使用的console.log)後,我終於找到了解決辦法:
function isObject(variable) {
return variable !== null &&
variable !== undefined &&
typeof variable === 'object';
}
// Find all the member-value pairs from the expression object
function findMemberValuePairsFromExpression (expr, ret) {
if (!isObject(expr)) {
return null;
}
ret = ret || {};
for (var name in expr) {
if (expr.hasOwnProperty(name)) {
var prop = expr[name];
if (name === 'parent') { // Ignore parent property since it's added by us
continue;
}
else if (name === 'left') { // member expression are in the left subtree
if (isObject(prop)) {
prop.parent = expr; // Remember the parent
findMemberValuePairsFromExpression(prop, ret);
}
}
else if (name === 'member') {
// Found a member expression, find the value expression
// by the knowledge of the structure of the expression
var value = expr.parent.right.value;
ret[prop] = value;
}
}
}
if (expr.parent) {
// Remove the added parent property
delete expr.parent;
}
return ret;
}
// Get the filters component from query object and
// find the member-value pairs in it
function findMemberValuePairsFromQuery (query) {
var filters = query.getComponents().filters;
return findMemberValuePairsFromExpression(filters);
}
function read (query, user, request) {
request.execute();
}
請記住,這種方法在很大程度上依賴於內查詢對象的結構,以便將來可能打破。
query.getComponents()也返回查詢的其他部分,如「選擇」,「跳過」,「頂級」等OData協議的基本上什麼
你能否提供一些更多的細節?您是否試圖通過桌面/ Windows 8應用程序調用移動服務REST API並試圖找出該應用程序中的查詢參數? –
我不認爲這很重要,因爲我在談論服務器腳本,它簡而言之就是node.js http://msdn.microsoft.com/en-us/library/jj554226.aspx 對於閱讀 事情是在其餘api文檔 http://msdn.microsoft.com/en-us/library/jj677199.aspx 它聲明有查詢參數像$ filter,$ select在請求中,但我不知道如何檢索這些參數。查詢 – imgen