如何从MVC应用程序调用外部URL。
我有一个内部网应用程序,我可以通过提供学生姓名来搜索设备以查找详细信息。搜索返回一个包含学生详细信息的html页面。
我的MVC网络应用程序有一个页面,我可以提供学生姓名。我的要求是,如果我提供学生姓名,则应使用外部URL(我在上面指定)进行搜索,并希望使用外部URL中的详细信息填充我的MVC视图。
例如,如果我在更改文本框时在我的mvc应用程序中给出swathi名称,它应该连接到外部URL(搜索URL),剩下的字段需要从外部URL的结果填充(结果在html格式)。说我的外部URL返回BIrth的日期,地址,我的名字“swathi”的emailid,所以我的mvc应用程序搜索“日期的BIrth”并找到相应的值,并应填充我的mvc剃刀视图。
Edit: Tried as below
$("#Contactname").change(function () {
$.ajax({
url: 'http://XXXXX.intranet.group/Pages/PeopleResults.aspx?k=swath&exact=true',
type: 'GET',
crossDomain: true,
contentType: "text/html; charset=utf-8",
success: function (data, textStatus, xhr) {
alert(1)
},
error: function (jqXHR, exception) {
if (jqXHR.status === 0) {
alert('1Not connect.\n Verify Network.');
}
}
});
});
这里我得到jqXHR.status = 0错误。
答案 0 :(得分:0)
将此方法写入控制器并调试并检查结果变量是否获得数据。
public string RequestforInformation(string Name)
{
string URL = "Your External URL HERE";
HttpWebRequest req = WebRequest.Create(URL)
as HttpWebRequest;
string result = null;
using (HttpWebResponse resp = req.GetResponse()
as HttpWebResponse)
{
StreamReader reader =
new StreamReader(resp.GetResponseStream());
result = reader.ReadToEnd();
}
return result;
}
您应该使用AJAX调用并从那里获取详细信息,然后用这些详细信息填充页面的其余部分。
$("button").click(function(){// use onkeypress function(textbox)if button is not clicked
$.ajax({url: "@Url.Action('RequestforInformation','Contoller')", success: function(result){
$("#div1").html(result);
}});
});
答案 1 :(得分:0)
在您的视图中: 1)创建一个div 2)
$(" button")。单击(function(){//使用onkeypress函数(文本框)如果未单击按钮 $ .ajax({url:" URL",success:function(result){ $("#DIV1&#34)。HTML(结果); }}); });