我正在尝试构建一个将数据发送到外部 API、等待响应并解释结果的 .js 文件。外部 API 基于 XML,并接受以 XML 作为正文(内容类型;文本/xml)的 HTTPS Post。我可以通过 cURL 正确调用 API。
这是我到目前为止所拥有的:
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body onload="CallService()">
<script type="text/javascript">
var webServiceURL = 'https://www.url.com';
var xmlString = '<xml><parameter1>value1</parameter1>
<parameter2>value2</parameter2></xml>';
function CallService() {
$.ajax({
url: webServiceURL,
type: "POST",
dataType: "xml",
data: xmlString,
processData: false,
contentType: "text/xml; charset=\"utf-8\"",
success: OnSuccess,
error: OnError
});
return false;
}
function OnSuccess(data, status) {
alert(data.d);
}
function OnError(request, status, error) {
alert('error');
}
$(document).ready(function() {
jQuery.support.cors = true;
});
</script>
</body>
</html>
当我打开 HTML 时,我收到一条警告说“错误”,而另一端(外部 API)什么也没有出现。有没有办法只使用 JavaScript/Ajax/jQuery 来做到这一点,还是我需要一个接收 JS 调用的“支持”代码?