2017-06-22 77 views
0

I'm上的ASP.NET MVC项目时,即执行以下操作:配置ASP.NET MVC来处理JSON

收集的用户使用的Android应用程序的数据,该数据被发送的JSON。这个应用程序正在由其他人开发,而不是我,但我们正在联系。

我创建了一个JSONController具有以下作用:

[HttpPost] 
    public JsonResult PutJSON(JSONModel json){ 
     // do something 
    } 

我JSONModel仅包含用于测试的public string LastName

现在,我只能将项目发布到本地主机上的IIS,这可以从我家庭网络中的其他设备访问。据我所知,测试应该没问题,对吧?在网络中的其他设备上的浏览器中输入该机器的IP时,该项目可以访问并运行。

在我的ASP.NET MVC项目中,我还需要做些什么才能让它接受来自“外部”的AJAX调用?我错过了什么吗?

我试着用另一个设备的简单AJAX调用进行测试,但这只是给我内部服务器错误,因为跨域调用。接受这些跨域调用并没有奏效(当项目最终发布时我需要这个吗?)

我非常感谢如果有人能够帮助,也许通过提供一个指南链接解释如何配置ASP.NET项目以接受来自Internet的AJAX调用。

+0

嗨,我建议你先阅读跨源请求的概念:https://en.wikipedia.org/wiki/Cross-origin_resource_sharing,然后你可以参考这个主题来正确配置asp.net接受您所需的请求:https://stackoverflow.com/questions/6290053/setting-access-control-allow-origin-in-asp-net-mvc-simplest-possible-method。请记住,启用所有来源可能会使您的页面容易受到危险脚本的攻击。 –

+0

我之前已经按照说明操作,但那并没有解决我的问题。 从应用程序发送json时,为某些来源启用CORS并不是我需要的项目,对吧? – MeMySelf

+0

Hello @MeMySelf,您是否创建了Web API项目?或者它只是一个MVC项目? –

回答

0
+0

我之前也读过这篇文章;) 基本上我只需要知道是否足以让我的Action如上所示接受来自Internet的AJAX调用。 当使用jQuery从View发送一个调用时,它完美地工作。 – MeMySelf

+0

您可以检查一下您是否可以访问您尝试访问该操作的网站页面? –

+0

页面(以及IIS等)正在我的本地工作站上运行,并且可以从我的网络中的设备访问。 从我的工作站上看,我可以将json传递给我的操作,但是从网络中的其他任何不可能的设备。 – MeMySelf