为了访问供应商资源(外部托管),我有一个URL,用于发出包含身份验证凭据的请求。该URL是动态构建的,但我不希望它出现在用户的浏览器中。相反,我想构建URL,使用HttpWebRequest发送请求,获取结果,然后通过AJAX调用将这些结果从控制器操作返回给浏览器中的用户。
我觉得我之前已经完成了这项工作,并且我已经知道如何从服务器内部发出HTTP请求,但是我无法确定要使用哪种类型的ActionResult。
答案 0 :(得分:1)
似乎你可以使用普通的ActionResult来处理这个问题。如果我理解你的问题,那么工作流程将是这样的......
查看模型
public ResponseModel(){
public string response {get;set;}
}
<强>控制器强>
public ActionResult GetOutsideResults(){
//make HttpWebRequest
var model = new ResponseModel();
model.response = ResultsFromWebRequest();
return View(model);
}
查看强>
@Html.Raw(model.response);
您也可以使用Ajax请求和部分视图执行相同的操作。这会将凭据保留在服务器上,并提供返回HTML结果的方法。我想你也可以使用JSON结果并使用JQuery解析。
<强>控制器强>
public JsonResult GetOutsideResults(){
//make HttpWebRequest
return Json(ResultsFromWebRequest());
}
查看强>
$ajax({...
success: function(data){
$("#targetDiv").html(data);
});
答案 1 :(得分:0)
您可以使用隐藏的iframe发布帖子并检索响应并将其显示给用户。