我希望使用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>
答案 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所说的,网络服务网址上还缺少一个"
。