使用PhoneGap进行iOS开发。我试图在PhoneGap中拨打Magento API With the SOAP Web services。我的方案是我想将用户名和apikey发送到Webservice。由于它是一个基于jQuery-Ajax和javascript帮助的客户端,我试图将数据发送到Web服务但是失败了。
当我尝试使用Jquery-Ajax时,我得到了一个XML解析错误,将错误消息指定为“0”(Cros Domain问题)。在Javascript中我可以正确获得响应,但不知道如何将用户名和apikey发送到Web服务,下面是我使用的脚本代码,
<script type="text/javascript">
// Create the XHR object.
function createCORSRequest(method, url) {
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr) {
// XHR for Chrome/Firefox/Opera/Safari.
xhr.open(method, url, true);
} else if (typeof XDomainRequest != "undefined") {
// XDomainRequest for IE.
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
// CORS not supported.
xhr = null;
}return xhr;
// Make the actual CORS request.
function makeCorsRequest() {
// All HTML5 Rocks properties support CORS.
var url = 'my WSDL link for magento api';
var xhr = createCORSRequest('GET', url);
if (!xhr) {
alert('CORS not supported');
return;}
// Response handlers.
xhr.onload = function() {
var text = xhr.responseText;
alert('Response from CORS request to ' + url);
};
xhr.onerror = function() {
alert('Woops, there was an error making the request.');
};
xhr.send();
}
</script>
这里我不知道如何将用户名和apikey发送到这个Soap Web服务。
任何人都可以建议我
答案 0 :(得分:0)
我认为你没有必要避免jquery的跨域问题。
1.简单的'jsonp'将帮助您解决问题。 2.您可以修改服务器端的响应头。 请参考下面的c#代码:
HttpContext.Current.Response.AppendHeader("Access-Control-Allow-Origin", "*");