WebService调用Jquery

时间:2014-02-11 06:07:30

标签: javascript jquery ajax web-services rest

我希望使用jquery调用webservice,以便在客户中添加新产品。 网络服务网址为http://www.tiny.com.br/api2/produto.incluir.php

并且需要以xml格式传递两个参数客户端ID,命名令牌和产品信息,此请求的格式是否正确?

我只得到错误,我怎样才能传递这些参数?

这是我的代码:

<script type="text/javascript">

    $(document).ready(function () {
        $("#btnCallWebService").click(function (event) {
            var wsUrl = "http://www.tiny.com.br/api2/produto.incluir.php;

            var soapRequest ={token:'***', produto :'<produto>'
                    &'<codigo>223435780</codigo> '
                    &'<descricao>Caneta 001</descricao>'
                    &'<un>Pc</un>'
                    &'<vlr_unit>1.68</vlr_unit>'
                    &'<preco_custo>1.23</preco_custo>'
                &'  <peso_bruto>0.2</peso_bruto>'
                &'  <peso_liq>0.18</peso_liq>'
                &'  <class_fiscal>1000.01.01</class_fiscal>'
                &'  <origem>0</origem>'
                &'  <estoque>10</estoque>'
                &'  <tipo>P</tipo>'
                &'  <gtin>223435780</gtin>'
                &'  <gtinEmbalagem>54546</gtinEmbalagem>'
                &'</produto>'};

            $.ajax({
                type: "POST",
                url: wsUrl,
                contentType: "text/xml",
                dataType: "xml",
                data: soapRequest,
                success: processSuccess,
                error: processError
            });

        });
    });

    function processSuccess(data, status, req) {
        if (status == "success")
            $("#response").text($(req.responseXML).find("HelloResult").text());
    }

    function processError(data, status, req) {
        alert(req.responseText + " " + status);
    }

</script>

2 个答案:

答案 0 :(得分:0)

您遇到语法错误。在js中我们使用&#39; +&#39;用于连接字符串而不是&#39;&amp;&#39;

var soapRequest ={token:'***', produto :'<produto>'
                    +'<codigo>223435780</codigo> '
                    +'<descricao>Caneta 001</descricao>'
                    +'<un>Pc</un>'
                    +'<vlr_unit>1.68</vlr_unit>'
                    +'<preco_custo>1.23</preco_custo>'
                +'  <peso_bruto>0.2</peso_bruto>'
                +'  <peso_liq>0.18</peso_liq>'
                +'  <class_fiscal>1000.01.01</class_fiscal>'
                +'  <origem>0</origem>'
                +'  <estoque>10</estoque>'
                +'  <tipo>P</tipo>'
                +'  <gtin>223435780</gtin>'
                +'  <gtinEmbalagem>54546</gtinEmbalagem>'
                +'</produto>'};

答案 1 :(得分:0)

除了@Abhidev所说的,网络服务网址上还缺少一个"