- 我有一个页面叫:tar-url.com
- 我想通过 C# 使用 PUT 请求 ping 目标页面。
- 我想向客户返回成功或错误。
这存在并适用于所有客户端而不是 IE。
var xml = "[XMLDOC]";
$.ajax({
type: "PUT",
contentType: "multipart-form",
url: "tar-url.com",
headers: {Authorization: "Basic herpderp="},
data: xml
success: function(){console.log("success");},
error: function(){console.log("error");}
});
这是我通常做的要求。它适用于我的旧格式,但有一个障碍,它在 IE9 中不起作用,所以我想出了这个绝妙的主意;让我的服务器而不是浏览器来做。
我创建了一个通用处理程序: gHand.ashx,它允许我执行我的调用。
我为其他一些调用执行此操作,但它是简单的 GET 请求,它返回一些 JSON。这是我需要帮助的地方。
我创建了 C# 中给出的方法:
public void ProcessRequest(HttpContext context)
{
WebClient wsb = new WebClient();
//pass *tar-url.com here*.
string url = context.Request.QueryString["url"];
//pass contentType here.
string ct = context.Request.QueryString["contextType"];
string type = context.Request.QueryString["type"];
string headers = context.Request.QueryString["headers"];
//not sure how to access the xml?
// something like this?
string xml = context.Request.QueryString["save"];
//HERE I NEED TO ASSIGN REST OF STUFF TO *wsg*
string response = wsb.DownloadString(url);
context.Response.Write(response);
}
我如何在 javascript 中调用它:
$.ajax({
url:"gHand.ashx",
type: "get",
data: JSON.stringify({
save: xml,
type: "PUT",
url: "tar-url.com",
contentType: "multipart/form",
headers:{ Authorization: "Basic HerpDerp="}
}),
success: function(){...},
error: function(){...}
});
从某种意义上说,我的调用似乎都是正确的,因为我可以构建一个 WebClient 并执行类似的脚本,但这种特殊的设置似乎让我大吃一惊。
编辑: 有人知道吗?