HTTP.getJSON params.headers ondersteunen

Ook: voortaan default "GET" tenzij params.data meegegeven: dan POST

svn path=/Website/trunk/; revision=22754
This commit is contained in:
Jos Groot Lipman
2014-10-02 10:36:33 +00:00
parent 2421bc2540
commit b73397060d
11 changed files with 32 additions and 45 deletions

View File

@@ -70,7 +70,6 @@ var myAPIKEY = user.prs_perslid_apikey();
if (!myAPIKEY) shared.simpel_page(L("lcl_xd_crossdomain_noapikey"));
var gottenitems = [];
var xparams = {};
var url = "";
// Execute the API2 request for all domains
for (var d in xd.SecundaryDomains) {
@@ -80,7 +79,7 @@ for (var d in xd.SecundaryDomains) {
if (cntnum) url += "&name="+ safe.url(cntnum);
if (descript != "") url += "&description="+ safe.url(descript);
// TODO: de scope hier en/of in het model aanscherpen: CNTMAN/USE-read of self zijn de 2 smaken?
if (myself)
if (myself)
url += "&scope=fe";
else
url += "&scope=bo";//+ safe.url(urole);
@@ -106,7 +105,7 @@ for (var d in xd.SecundaryDomains) {
url += "&logging=1";
//Response.write(url);
reqresult = HTTP.getJSON(url, xparams, "GET");
reqresult = HTTP.getJSON(url);
if (reqresult) {
gottenitems.push("contract" in reqresult ? [reqresult["contract"]] : reqresult.contracts);
} else {
@@ -141,7 +140,7 @@ function fnrowClass(oRs)
{
var resclass ="";
var lnow = new Date();
if (oRs.Fields("enddate").Value < lnow)
if (oRs.Fields("enddate").Value < lnow)
resclass += ' expired2';
return resclass;
}

View File

@@ -694,7 +694,7 @@ function sqlTracking(refkey, node)
prs_externId: customerId + "_" + String(user_key)
}
var json = HTTP.getJSON(url, xparams);
var json = HTTP.getJSON(url, { data: xparams });
if (!json)
{
__DoLog("user_lopend_info is onverwacht geen Array bij opvragen van:", "#FF0000");

View File

@@ -564,7 +564,7 @@ function suggest_box_resruimte (titel, histograms, kolom, params)
if (filter.satisfaction)
xparams.satisfaction = filter.satisfaction;
var json = HTTP.getJSON(url, xparams);
var json = HTTP.getJSON(url, { data: xparams });
if (!json)
{
__DoLog("user_lopend_info is onverwacht geen Array bij opvragen van:", "#FF0000");

View File

@@ -84,7 +84,6 @@ var myAPIKEY = user.prs_perslid_apikey();
if (!myAPIKEY) shared.simpel_page(L("lcl_xd_crossdomain_noapikey"));
var gottenitems = [];
var xparams = {};
var url = "";
// Execute the API2 request for all domains
@@ -112,12 +111,12 @@ for (var d in xd.SecundaryDomains) {
}
if (statussen.length > 0)
url += "&status="+statussen.join(',');
if (Session("logging")&1)
url += "&logging=1";
//Response.write(url);
reqresult = HTTP.getJSON(url, xparams, "GET");
reqresult = HTTP.getJSON(url);
// This result is:
// {issues: [{...}]}} in case of matching results
// {} in case of HTTP-errors or no result
@@ -158,7 +157,7 @@ function fnrowClass(oRs)
{
var resclass ="";
var lnow = new Date();
if (oRs.Fields("enddate").Value < lnow)
if (oRs.Fields("enddate").Value < lnow)
resclass += ' expired2';
return resclass;
}

View File

@@ -68,11 +68,10 @@ FCLTHeader.Title(L("lcl_xd_orders"));
</head>
<%
var myAPIKEY = user.prs_perslid_apikey();
var myAPIKEY = user.prs_perslid_apikey();
if (!myAPIKEY) shared.simpel_page(L("lcl_xd_crossdomain_noapikey"));
var gottenitems = [];
var xparams = {};
var url = "";
// Execute the API2 request for all domains
@@ -101,8 +100,8 @@ for (var d in xd.SecundaryDomains) {
if (Session("logging")&1)
url += "&logging=1";
reqresult = HTTP.getJSON(url, xparams, "GET");
reqresult = HTTP.getJSON(url);
if (reqresult) {
gottenitems.push("order" in reqresult ? [reqresult["order"]] : reqresult.orders);
} else {
@@ -143,7 +142,7 @@ function fnrowClass(oRs)
{
var resclass ="";
var lnow = new Date();
if (oRs.Fields("enddate").Value < lnow)
if (oRs.Fields("enddate").Value < lnow)
resclass += ' expired2';
return resclass;
}

View File

@@ -279,7 +279,7 @@ function fncolHeader(oRs)
mobile: true
}
var json = HTTP.getJSON(url, xparams);
var json = HTTP.getJSON(url, { data: xparams });
if (!json)
{
__DoLog("user_lopend_info is onverwacht geen Array bij opvragen van:", "#FF0000");
@@ -372,7 +372,7 @@ function fncolHeader(oRs)
%><ul data-role='listview' data-inset='true' data-theme='b' data-dividertheme='b' id="mmessages"><%
}
while (!oRs.eof)
{
{
%><li><span class="n1"><%=safe.html(oRs("web_user_mess_dsc").value)%></span><br><span class="n2"><%=toDateTimeString(new Date(oRs("web_user_mess_action_datum").value))%></span></li><%
i++;
oRs.moveNext();

View File

@@ -519,11 +519,11 @@ if (rsv_ruimte_key == -1)
resparams.request = "plan_rooms_info";
resparams.mobile = true;
/*global*/ plan_rooms_info = HTTP.getJSON(url, resparams).plan_rooms_info;
/*global*/ plan_rooms_info = HTTP.getJSON(url, { data: resparams }).plan_rooms_info;
if (plan_rooms_info.length)
{
resparams.request = "plan_bezet_info";
/*global*/ plan_bezet_info = HTTP.getJSON(url, resparams).plan_bezet_info;
/*global*/ plan_bezet_info = HTTP.getJSON(url, { data: resparams }).plan_bezet_info;
}
else
plan_bezet_info = {};

View File

@@ -49,7 +49,7 @@ var params = { "request" : "update",
"mobiel": user.prs_perslid_mobiel()
}
var user_info = HTTP.getJSON(remoteurl + "&API=PRSSET", params);
var user_info = HTTP.getJSON(remoteurl + "&API=PRSSET", { data: params });
var resurl = deepurl + "&" + user_info.prs_auth;

View File

@@ -313,9 +313,9 @@ hour_px = res.hour_px(width_px-300, nr_days);
xparams.alg_locatie_plaats = new Locatie(params.loc).alg_locatie_plaats();
xparams.request = "plan_rooms_info";
var plan_rooms_info = HTTP.getJSON(url, xparams).plan_rooms_info;
var plan_rooms_info = HTTP.getJSON(url, { data: xparams }).plan_rooms_info;
xparams.request = "plan_bezet_info";
var plan_bezet_info = HTTP.getJSON(url, xparams).plan_bezet_info;
var plan_bezet_info = HTTP.getJSON(url, { data: xparams }).plan_bezet_info;
xparams.extern = true;
params.disc_key = oRs("ins_discipline_key").Value;

View File

@@ -80,9 +80,9 @@ make_plan_room(plan_rooms_info, plan_bezet_info, params);
var url = "http://sgf12/branch534/?API=RESINFO&APIKEY=E0E1EA02E3264324&fac_id=UWVA&pretty=1";
params.request = "plan_rooms_info";
var plan_rooms_info = HTTP.getJSON(url, params);
var plan_rooms_info = HTTP.getJSON(url, { data: params });
params.request = "plan_bezet_info";
var plan_bezet_info = HTTP.getJSON(url, params);
var plan_bezet_info = HTTP.getJSON(url, { data: params });
var vraag = JSON.stringify(params, null);
if (plan_rooms_info && plan_bezet_info)

View File

@@ -1162,18 +1162,25 @@ myJSON =
HTTP =
{
getJSON: function _getJSON(url, data, method) // Serverside variant van jQuery $.getJSON
getJSON: function _getJSON(url, params) // Serverside variant van jQuery $.getJSON
{
params = params || {};
if (!params.type)
params.type = params.data?"POST":"GET"; // Met data default POST, zonder data default GET
var http_request = Server.CreateObject("WinHTTP.WinHTTPRequest.5.1");
var vraag = JSON.stringify(data, null);
var vraag = JSON.stringify(params.data, null);
__Log("HTTP url: " + url);
__Log("data: " + vraag);
http_request.open(method||"POST", url, false); // Synchroon
http_request.open(params.type, url, false); // Synchroon
// Het volgende lijkt weinig effect te hebben, post-body is nog steeds utf-8?
// in api.inc/RequestJSON verwachten we dan ook maar utf-8 dus netto werkt het goed?
http_request.setRequestHeader("Content-Type", "application/json; charset=windows-1252");
for ( var i in params.headers )
{
http_request.setRequestHeader(i, params.headers[ i ]);
}
// Het mag niet te lang duren!
var lResolve = 5 * 1000;
var lConnect = 5 * 1000;
@@ -1212,23 +1219,6 @@ HTTP =
{
__DoLog("Parse error: " + e.message);
__DoLog(http_request.ResponseText);
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// TODO: hier zomaar een andersoortig resultaat opleveren lijkt me niet zomaar goed
// igv van error een leeg resultaat opleveren ({}) beter, maar hoe behoor je dan fouten
// te signaleren? Alternatief {success: true, {result}} heeft vast veel impact. Jos?
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
result = { success: false, message: e.message };
}
return result;