Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以在C#方法中运行Ajax吗?(MVC控制器)_C#_Ajax_Asp.net Mvc - Fatal编程技术网

可以在C#方法中运行Ajax吗?(MVC控制器)

可以在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: {

也许这很愚蠢,但我想知道是否有可能在.NETMVC的控制器中运行任何脚本,特别是Ajax

i、 我能把它用任何东西包装起来,以便在调用这个方法时编译和工作吗

    [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。