我有一个脚本,我可以将其包含在同一域或不同域的任何页面中。 从该脚本,我正在对我的服务器进行ajax调用。 我想要的是获取包含脚本的页面的域名。 这是我的代码:
我在页面上的脚本说www.abc.com/index.html
<Script type="text/javascript" src="http://demo.xyz.com/content/OScript.js" ></script>
我的ajax调用会转到.ashx处理程序说
在该处理程序内部,如果是访问,
HttpContext.Current.Request.Url.Host
我得到了
“demo.xyz.com”而非“www.abc.com”
我想在服务器端检索“www.abc.com”。
我不想通过js包含/或将此域名发送到服务器端。
答案 0 :(得分:0)
HttpWorkerRequest class的HeaderReferer
值可以提供帮助,如下所示:
HTTP处理程序代码内部:
public void ProcessRequest(HttpContext context)
{
var theProvider = (IServiceProvider)context;
var theWorker = (HttpWorkerRequest)theProvider.GetService(typeof(HttpWorkerRequest));
string theReferer = theWorker.GetKnownRequestHeader(HttpWorkerRequest.HeaderReferer);
// Do something with referer here
}