我想在asp.net mvc应用程序中访问javascript中的会话变量.我已经找到了一种在aspx视图引擎中执行此操作但不在剃刀中的方法.
请告诉我一种访问会话变量的方法
$(document).ready(function () {
var value = getParmsVals()["search"];
$.getJSON('/api/search/GetQuestionByKey/' + value, function (jsonData) {
$(jsonData).each(function (i, item) {
var name = getAuthorName(item.userId);
});
});
});
function getAuthorName(userId) {
var fullname = "default";
$.getJSON('/api/search/GetUserById/' + userId, function (jsonData) {
fullname = jsonData.firstname + " " + jsonData.lastname;
});
return fullname;
}
Run Code Online (Sandbox Code Playgroud)
我试图通过调用getAuthorName方法来访问fullname变量,但我无法获得正确的值.它总是给我"默认"的价值.
我正在尝试使用AJAX进行REST调用(POST).这是我的AJAX代码
<script>
var settings = {
"async": true,
"crossDomain": true,
"dataType": "json",
"url": "http://localhost:port/service/myservice",
"method": "POST",
"data": '{jsondata}',
"headers": {
"accept": "application/json",
"Authorization": "authValue"
}
}
$.ajax(settings)
.done(function (response) {
console.log(response);
});
</script>
Run Code Online (Sandbox Code Playgroud)
最初我收到此错误:XMLHttpRequest无法加载http:// localhost:port/service/myservice.对预检请求的响应未通过访问控制检查:请求的资源上不存在"Access-Control-Allow-Origin"标头.因此不允许原点'null'访问.响应具有HTTP状态代码400.
要解决此问题,我在dropwizard应用程序中添加了以下代码
Dynamic filter = env.servlets().addFilter("CORS", CrossOriginFilter.class);
filter.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, "GET,PUT,POST,DELETE,OPTIONS");
filter.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, "*");
filter.setInitParameter(CrossOriginFilter.ACCESS_CONTROL_ALLOW_ORIGIN_HEADER, "*");
filter.setInitParameter("allowedHeaders", "Content-Type,Authorization,X-Requested-With,Content-Length,Accept,Origin");
filter.setInitParameter("allowCredentials", "true");
filter.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*");
Run Code Online (Sandbox Code Playgroud)
添加此内容后,我的初始异常消失,但我收到以下异常:XMLHttpRequest无法加载http:// localhost:port/service/myservice.预检的响应具有无效的HTTP状态代码400
这个问题与CORS有关吗?我在这做错了什么?
UPDATE
在做了更多调试后,我发现了这种行为.发送没有Authorization标头的请求时,我收到415(不支持的媒体类型)错误.
我认为我的AJAX代码有问题,有人可以帮我找到问题吗?谢谢.
我有一个名为"讨论列表"的列表.我想从列表中提取所有列.
我想知道如何做它的SharePoint客户端对象模型.
我在每个分支中都有不同的项目结构,是否有可能为Bamboo的每个分支配置不同的作业/任务?如果没有,请建议我其他选择。
asp.net ×2
javascript ×2
ajax ×1
asp.net-mvc ×1
bamboo ×1
cors ×1
dropwizard ×1
java ×1
jquery ×1
json ×1
razor ×1
session ×1
sharepoint ×1