2017-06-22 31 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