使用参数IBM Worklight发送请求

时间:2014-09-01 06:42:52

标签: javascript ibm-mobilefirst worklight-adapters

我已经使用http适配器并成功发送请求

但我不能用参数

来做

我想发送参数cmd=login

如何将其放入parameter = []

var invocationData = {
        adapter : 'RSSReader',
        procedure : 'login',
        parameters :[]
    };

----------------------更新------------------------ -------

我尝试官方参数格式

var invocationData = {
        adapter : 'HTTPAdapter',
        procedure : 'login',
        parameters :[{name : 'cmd', value : 'login'}]
    };

但仍然没有发送?

<?xml version="1.0" encoding="UTF-8"?>
<displayName>HTTPAdapter</displayName>
<description>HTTPAdapter</description>
<connectivity>
    <connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
        <protocol>http</protocol>
        <domain>my-ip-address</domain>
        <port>80</port> 
        <!-- Following properties used by adapter's key manager for choosing specific certificate from key store  
        <sslCertificateAlias></sslCertificateAlias> 
        <sslCertificatePassword></sslCertificatePassword>
        -->     
    </connectionPolicy>
    <loadConstraints maxConcurrentConnectionsPerNode="2" />
</connectivity>

<procedure name="login"/>

这是适配器impl

function login() {

var input = {
    method : 'post',
    returnedContentType : 'json',
    path : '/sp/api/'
};

return WL.Server.invokeHttp(input);}

1 个答案:

答案 0 :(得分:0)

查看-impl.js文件中新创建的HTTP适配器中提供的示例 你可以这样做:

客户端JavaScript

var invocationData = {
    adapter : 'myAdapter',
    procedure : 'myProcedure',
    parameters :['cmd=login']
};
...
...

适配器XML

...
...
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
    <protocol>http</protocol>
    <domain>www.example.com</domain>
    <port>80</port> 
</connectionPolicy>

适配器JavaScript

function myProcedure(myParameter) {
    path = getPath(myParameter);

    var input = {
        method : 'get',
        returnedContentType : 'xml',
        path : path
    };

    return WL.Server.invokeHttp(input);
}

function getPath(myParameter) {
    return ("?" + myParameter);
}