Ibm mobilefirst Worklight JavaScript HTTP适配器无法接收请求数据

Ibm mobilefirst Worklight JavaScript HTTP适配器无法接收请求数据,ibm-mobilefirst,cordova-plugins,mobilefirst-adapters,jsonstore,Ibm Mobilefirst,Cordova Plugins,Mobilefirst Adapters,Jsonstore,我试图理解mfpjsonstore和HTTP适配器是如何工作的。我下载了源代码。我按照步骤构建了这个应用程序。我还部署了这个适配器。但当我试图将脏数据推送到适配器时,却没有得到任何结果。适配器仍记录未定义的日志 以下是推送功能代码: function pushToAdapter(){ alert("pushToAdapter"); try { WL.JSONStore.get(collectionName).push().then(function (res) {

我试图理解mfpjsonstore和HTTP适配器是如何工作的。我下载了源代码。我按照步骤构建了这个应用程序。我还部署了这个适配器。但当我试图将脏数据推送到适配器时,却没有得到任何结果。适配器仍记录未定义的日志

以下是推送功能代码:

function pushToAdapter(){
    alert("pushToAdapter");
    try {
        WL.JSONStore.get(collectionName).push().then(function (res) {
            if(Array.isArray(res) && res.length < 1){ // I changed this to res.length > 1
                document.getElementById("resultsDiv").innerHTML = "Documents Pushed Successfuly";
            } else {
                document.getElementById("resultsDiv").innerHTML = "Failed To Push Documents to Adapter: "+ res[0].errorObject;
            }   
        }).fail(function (errorObject) {
            alert(errorObject.msg);
        });
    } catch (e) {
        alert("Failed To Push Documents to Adapter");
    }
}
请注意,我使用的是cordova插件mfp jsonstore的补丁版本。除第5238行(如下所示)外,其他内容相同:


看起来这些参数没有作为推送请求的一部分传递。您可以使用提供的jsonstore.js并验证它是否解决了您的问题。这将在下一个iFix中正式发布。

看起来这些参数没有作为推送请求的一部分传递。您可以使用提供的jsonstore.js并验证它是否解决了您的问题。这将在下一个iFix中正式发布。

我已经尝试了完全相同的步骤,应用程序的工作原理与预期一致。下面是应用补丁(设置标题)的我的Android项目的示例。注意:按原样将项目导入Android studio修改服务器端点并运行项目。不要在项目上执行任何可能会覆盖应用补丁的cordova操作。如果你仍然面临一个问题,你也可以分享你的项目,我可以看看。它是一样的。适配器中未接收到数据。下面是我在适配器中得到的:
MFP.Logger I适配器:JSONStoreAdapter,过程:addPerson调用。MFP.Logger我从JSONStore获得了要添加的数据:未定义
我想知道,数据在哪里被发送到适配器?我的意思是,
invocationData.parameters
(jsonstore.js中的第5224行)从未在任何地方使用过!。另外,
resourceRequest.send()
是无参数的!。这可能是适配器中没有接收到任何内容的原因吗?我尝试了完全相同的步骤,应用程序按预期工作。下面是应用补丁(设置标题)的我的Android项目的示例。注意:按原样将项目导入Android studio修改服务器端点并运行项目。不要在项目上执行任何可能会覆盖应用补丁的cordova操作。如果你仍然面临一个问题,你也可以分享你的项目,我可以看看。它是一样的。适配器中未接收到数据。下面是我在适配器中得到的:
MFP.Logger I适配器:JSONStoreAdapter,过程:addPerson调用。MFP.Logger我从JSONStore获得了要添加的数据:未定义
我想知道,数据在哪里被发送到适配器?我的意思是,
invocationData.parameters
(jsonstore.js中的第5224行)从未在任何地方使用过!。另外,
resourceRequest.send()
是无参数的!。这可能是适配器中没有收到任何内容的原因吗?我认为最新版本中没有包含该修复程序,是吗?我认为最新版本中没有包含该修复程序,是吗?
function pushPeople(data) {
    MFP.Logger.debug('Adapter: JSONStoreAdapter, procedure: pushPeople called.');
    MFP.Logger.debug('Got data from JSONStore to ADD: ' + JSON.stringify(data)); //always undefined
    return;
}

function addPerson(data) {
    MFP.Logger.debug('Adapter: JSONStoreAdapter, procedure: addPerson called.');
    MFP.Logger.debug('Got data from JSONStore to ADD: ' + JSON.stringify(data)); //always undefined
    return;
}

function removePerson(data) {
    MFP.Logger.debug('Adapter: JSONStoreAdapter, procedure: removePerson called.');
    MFP.Logger.debug('Got data from JSONStore to REMOVE: ' + JSON.stringify(data)); //always undefined
    return;
}
resourceRequest = new WLResourceRequest('adapters/' + invocationData.adapter + '/' + invocationData.procedure,  WLResourceRequest.POST);
resourceRequest.setHeader('Content-Type','application/x-www-form-urlencoded'); //patched version
resourceRequest.send().then(ipOpts.onSuccess, ipOpts.onFailure);