可以在C#方法中运行Ajax吗?(MVC控制器)
也许这很愚蠢,但我想知道是否有可能在.NETMVC的控制器中运行任何脚本,特别是Ajax i、 我能把它用任何东西包装起来,以便在调用这个方法时编译和工作吗可以在C#方法中运行Ajax吗?(MVC控制器),c#,ajax,asp.net-mvc,C#,Ajax,Asp.net Mvc,也许这很愚蠢,但我想知道是否有可能在.NETMVC的控制器中运行任何脚本,特别是Ajax i、 我能把它用任何东西包装起来,以便在调用这个方法时编译和工作吗 [HttpPost] public ActionResult apiLookUp() { $.ajax({ url: 'example.com/api', type: 'GET', dataType: 'json', data: {
[HttpPost]
public ActionResult apiLookUp()
{
$.ajax({
url: 'example.com/api',
type: 'GET',
dataType: 'json',
data: {
},
success: function (json) {
},
error: function (errorThrown) {
}
});
return Json(new { Success = json });
}
如果您试图访问自己的资源之一,则不需要进行AJAX调用。您已经在服务器上,可以实例化对象并直接进行调用 但是,如果您的目标是呼叫外部站点,那么您可以
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://someServer.com/example.com/api");
myReq.ContentType = "application/json; charset=utf-8";
var response = (HttpWebResponse) myReq.GetResponse();
string text;
using (var sr = new StreamReader(response.GetResponseStream()))
{
text = sr.ReadToEnd();
}
如果您试图访问自己的资源之一,则不需要进行AJAX调用。您已经在服务器上,可以实例化对象并直接进行调用 但是,如果您的目标是呼叫外部站点,那么您可以
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://someServer.com/example.com/api");
myReq.ContentType = "application/json; charset=utf-8";
var response = (HttpWebResponse) myReq.GetResponse();
string text;
using (var sr = new StreamReader(response.GetResponseStream()))
{
text = sr.ReadToEnd();
}
默普,好的。但我不明白为什么会投反对票……这是一个有效的问题,不是吗?:)控制器在服务器上执行,javascript在客户端浏览器上执行。两个不同的世界,对我们来说非常重要understand@Austin另外,需要注意的是,ajax用于从客户端与服务器通信。因此,例如,当您已经在服务器上的应用程序在安装过程中没有太多意义时,您可以通过mvc控制器调用api,就像调用另一个c#类一样。您还可以使用get从客户机调用它,这是很正常的,除非您说您有理由不在客户机上拥有该信息。如果api是外部的,@Bill Gregg下面的回答看起来很有希望。@zaitsman这个地方是一个问答网站,你投票否决一个问题是因为它写得不好,我们不会因为某人缺乏知识而惩罚他,这只会破坏网站的目标。merp,好的。但我不明白为什么会投反对票……这是一个有效的问题,不是吗?:)控制器在服务器上执行,javascript在客户端浏览器上执行。两个不同的世界,对我们来说非常重要understand@Austin另外,需要注意的是,ajax用于从客户端与服务器通信。因此,例如,当您已经在服务器上的应用程序在安装过程中没有太多意义时,您可以通过mvc控制器调用api,就像调用另一个c#类一样。您还可以使用get从客户机调用它,这是很正常的,除非您说您有理由不在客户机上拥有该信息。如果api是外部的,@Bill Gregg下面的回答看起来很有希望。@zaitsman这个地方是一个问答网站,你投票否决一个问题是因为它写得很差,我们不会因为某人缺乏知识而惩罚他,这只会破坏网站的目标。这将是跨域的。我的服务器连接到另一个服务器的API。那么我写的就是你想要的。太棒了,我会试试看!如何保持
json
作为json
的完整性?使用字符串
会弄乱一些格式。是否有一种方法可以执行类似于返回Json(new{Json=response.GetResponseStream()})的操作代码>?我只想返回从这个WebRequest获取的确切的json
。您可以使用json.Net将字符串反序列化回json。这将是跨域的。我的服务器连接到另一个服务器的API。那么我写的就是你想要的。太棒了,我会试试看!如何保持json
作为json
的完整性?使用字符串
会弄乱一些格式。是否有一种方法可以执行类似于返回Json(new{Json=response.GetResponseStream()})的操作代码>?我只想返回从这个WebRequest获取的确切的json
。您可以使用json.Net将字符串反序列化回json。