- 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");}
});
これは私が通常行う要求です。それは私の古い形式で動作しますが、1 つのヒッチがあります。IE9 では動作しません。この素晴らしいアイデアを思いつきました。ブラウザではなく、サーバーに実行させます。
呼び出しを実行できる汎用ハンドラー gHand.ashxを作成します。
私は他のいくつかの呼び出しに対してこれを行いますが、JSON を返すのは単純な GET 要求です。ここで助けが必要です。
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 を構築して同様のスクリプトを実行できるという意味では、私の呼び出しはすべて正しいように見えますが、この特定の設定が私の頭を悩ませているようです。
編集: 誰か何か考えがありますか?