0
这是(希望)一个简单的问题。我必须通过POST使用XDomainRequest向Web服务提交请求。我在互联网上发现了这个稀少的文档,但我拒绝相信没有人知道这一点。XDomainRequest POST与XML ...我做错了什么?
这里是我的XDomainRequest代码:
var testURL = 'http://localhost:4989/testendpoint';
//let us check to see if the browser is ie. If it is not, let's
if ($.browser.msie && window.XDomainRequest) {
var xdr2 = new XDomainRequest();
xdr2.open("POST", testURL);
xdr2.timeout = 5000;
xdr2.onerror = function() {
alert('we had an error!');
}
xdr2.onprogress = function() {
alert('we have some progress!');
};
xdr2.onload = function() {
alert('we load the xdr!');
var xml2 = new ActiveXObject("Microsoft.XMLDOM");
xml2.async = true;
xml2.loadXML(xdr2.responseText);
};
//what form should my request take to be sending a string for a POST request?
xdr2.send("thisisastring");
}
我的web服务(WCF)需要根据Web服务的帮助页面一个参数,看起来像这样:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">String content</string>
我已经通过构建一个串连接参数的字符串,通过其他http客户端(移动和桌面API,fiddler)获得此功能,该串将我想要传递给Web服务的参数与字符串序列化的其余部分连接起来。例如,我尝试过:
xdr2.send("thisisastring");
xdr2.send("<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">thisisastring</string>");
但是,onerror处理程序总是被触发。我不认为这有什么与WCF,因为:
- 的WCF总是成功在所有其他客户端我把它从, 和
- 如果是服务,使用onerror方法将永远不会被绊倒。 它会返回垃圾,但它会返回一些东西。
当我(在IE9的开发者工具)使用控制台登录的responseText的,它说:
LOG:undefined
所以我相当肯定,问题是我如何使用XDomainRequest。
你是否得到了解决方案。我面临同样的问题。 – Amit
没有。在我必须构建POST要求之前,我更换了工作。对于其余部分,我将它转换为JSON。不知道你是否可以发布到JSON或不在IE浏览器,但我要检查了这一点:http://stackoverflow.com/questions/5093582/json-is-undefined-error-in-ie-only我改变之前工作。抱歉! – jdb1a1