c-Javascript中的XMLRPC客户端

c - XMLRPC client in Javascript

本文关键字:客户端 XMLRPC 中的 c-Javascript      更新时间:2023-09-26

我正在尝试在服务器(C代码)和客户端(Javascript)之间建立XMLRPC连接。客户端发送两个数字,服务器将它们相加并返回。服务器(在C代码中)应该以以下XML形式获取数据:

<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>sample.add</methodName>
<params>
<param><value><i4>a</i4></value></param> // a and b are numbers to be added
<param><value><i4>b</i4></value></param> // a and b are numbers to be added
</params>
</methodCall>

我使用JS的模拟库。这里是客户端脚本:

<title>Mimic - JavaScript XML-RPC Client</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<script src="mimic/mimic.js"language="javascript"></script>
....
<center>
<input type="text" id="n1"/>
<input type="text" id="n2"/>    
<input type="button"  onclick="Add_Request();" value="Request"/>
...
<script language="javascript">
          function Add_Request() {
           var method = "sample.add";
           var request = new XmlRpcRequest("demos/calc.php", method);
           request.addParam(document.getElementById("n1"));
           request.addParam(document.getElementById("n2"));
           var response = request.send();
           alert(response.parseXML());
        }
</script>

但客户端不起作用。我在哪里犯了错误或者。。。?Javascript以何种形式向服务器发送XML数据?如有任何建议,将不胜感激

提前感谢!!!

p.S.用C代码实现XMLRPC客户端和服务器运行良好。

您没有将正确的url传递给XmlRpcRequest函数。您需要引用模拟源锻造地址。(这是假设您没有运行自己的XML-RPC服务器,只是尝试使用此代码)

    <script language="javascript">
          function Add_Request() {
           var method = "sample.add";
           var request = new XmlRpcRequest("http://mimic-xmlrpc.sourceforge.net/demos/calc.php", method);
           request.addParam(document.getElementById("n1"));
           request.addParam(document.getElementById("n2"));
           var response = request.send();
           alert(response.parseXML());
        }
</script>


如果您在本地主机的chrome上运行此程序,您最终会遇到CORS问题。请关注此线程以获取帮助:对飞行前请求的响应;t通过访问控制检查