0

为了访问供应商资源(外部托管),我有一个 URL,该 URL 发出包含身份验证凭据的请求。URL 是动态构建的,但我不希望它出现在用户的浏览器中。相反,我想构建 URL,使用 HttpWebRequest 发送请求,获取结果,然后通过 AJAX 调用将控制器操作中的这些结果返回给浏览器中的用户。

我觉得我以前做过这个,并且我已经知道如何从服务器内发出 HTTP 请求,但是我无法确定要使用哪种类型的 ActionResult。

4

2 回答 2

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);
     });
于 2012-08-07T21:21:26.153 回答
0

您可以使用隐藏的 iframe 发布帖子并检索响应并将其显示给用户。

于 2012-08-07T21:08:53.683 回答