gpt4 book ai didi

javascript - Javascript 中的 XMLRPC 客户端

转载 作者:太空宇宙 更新时间:2023-11-04 04:55:18 30 4
gpt4 key购买 nike

我正在尝试在服务器(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 数据?任何建议将不胜感激

提前致谢!!!

附言用 C 代码实现 XMLRPC 客户端和服务器工作正常。

最佳答案

您没有将正确的 url 传递给 XmlRpcRequest 函数。您需要引用 mimic-sourceforge 地址。 (这是假设您没有运行自己的 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 问题。请按照此线程寻求帮助: Response to preflight request doesn't pass access control check

关于javascript - Javascript 中的 XMLRPC 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9390781/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com