2 Replies Latest reply on Oct 15, 2015 8:44 AM by claudef RSS
    claudef Explorer

    Calling a service with a POST Request

    Hello there,

    I'm trying to use the REST API to call services and I can do it in some ways, but not those I want/need

    Using POSTMAN on Chrome :

    POST /Thingworx/Things/Mail/Services/sendPassword HTTP/1.1

    Host: ***.net:8080</span><br style="color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span style="color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none; background-color: rgb(255, 255, 255);">appKey: xxxx-xxxx</span><br style="color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span style="color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none; background-color: rgb(255, 255, 255);">Content-Type: application/json</span><br style="color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span style="color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none; background-color: rgb(255, 255, 255);">Accept: application/json</span><br style="color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span style="color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none; background-color: rgb(255, 255, 255);">Cache-Control: no-cache</span><br style="color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><br style="color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span style="color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; display: inline !important; float: none; background-color: rgb(255, 255, 255);">{"userid":"claude","usermail":"c@f.com"}</span><br><br>i'm passing a json object as raw data and it get things done<br><br>now i'm trying to do it using jQuery but the service never get the parameters, they're all undefined<br><br>here's my code : <br>$('#passform').submit(function() {<br>    <br>        var jsonReq = '{';<br>        jsonReq += '"usermail": "c@f.com",';<br>        jsonReq += '"userid": "claude"';<br>        jsonReq += '}';<br>                <br>        /
            var jsonReq = new Object();
            jsonReq.userid = 'claude';
            jsonReq.usermail = 'c@f.com';
            /<br>        <br>        var hders = new Object();<br>        hders.appKey = 'xxxx-xxxx';<br>                <br>        console.log(jsonReq);<br>        //console.log(JSON.stringify(jsonReq));<br>        console.log(JSON.parse(jsonReq));<br>                <br>        var options = {<br>            url: 'http://***:8080/Thingworx/Things/Mail/Services/sendPassword',
                async: true,
                success: function(txt, statusText, xhr) {
                    alert(txt);
                },
                contentType: 'application/json',
                data: JSON.stringify(jsonReq),
                //data: jsonReq,           
                //processData: false,
                headers: hders
            };
            // submit the form
            $(this).ajaxSubmit(options);
                    alert('foo');
            // return false to prevent normal browser submit and page navigation
            return false;
        });

    it basically works except the data aint sent the way I want since the service don't get them

    I left nothing except for the button in the html form

    Thanks