c# - 将自定义标头添加到生成的 WebService 帮助程序
问题描述
使用从 .asmx 文件创建的生成的 javascript 时,是否可以添加或自定义标头?
例如,我有一个 Web 服务,例如: SomeService.asmx
[WebService(Namespace = "https://www.somedomain.com/api/someapi", Description = "api", Name = "someapi")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class WebService : System.Web.Services.WebService
{
[WebMethod]
[HttpPost]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public List<SomeModel> GetData(string SomeArgument)
{
string customHeaderValue = HttpContext.Current.Request.Headers.Get("SomeCustomHeader");
// Do things
}
}
现在使用 jQuery,我可以指定自定义标头,例如:
jQuery.ajax({
type: 'POST',
url: '/Path/ToFile/Webservice.asmx/GetData',
data: "data",
success: OnSuccessFunc,
error: OnFailureFunc,
headers: {
'SomeCustomHeader': "SomeCustomHeaderValue" <---
}
});
但我知道 asmx 文件可以生成一些帮助函数 javascript 来为我处理所有事情。例如,如果我添加
<script type="text/javascript" src="/Path/ToFile/Webservice.asmx/js"></script>
然后在页面上我可以简单地写
<script type="text/javascript">
Webservice.GetData("data", OnSuccessFunc, OnFailureFunc)
</script>
但是如何使用生成的 javascript 版本包含自定义标头数据?
解决方案
您可以尝试使用带有 $.ajaxSetup() 的 beforeSend 钩子为每个请求设置标头
看看这个网址。 https://www.edureka.co/community/82342/how-to-add-custom-http-header-to-ajax-request-with-javascript
推荐阅读
- excel - excel中的数字更改为日期,解决方法导致#VALUE
- javascript - Get path of file which executed another file
- .net-core - .NET Core 项目的 GitLab CI 测试阶段失败
- debugging - 启用 gflags 时 RtlDebugCreateHeap api 中的访问冲突
- typescript - 将 IBucket 传递给 Table props 中的存储桶属性会导致缺少属性错误
- python - 在python中增加最大键大小LMDB键值数据库?
- java - 如何将平方根函数合并到我正在尝试制作的这个计算器中?
- c# - 如何使用 C#、LINQ 在 mongodb 中获取每个组的 n 条记录?
- c# - 检查类型 X 的对象是否在列表中并更新相应字段失败,原因我不明白
- c - 错误:尽管使用箭头运算符,但请求成员数据不是结构或联合