1. 程式人生 > >Asp.net訪問本地JSON提示不允許訪問解決方案

Asp.net訪問本地JSON提示不允許訪問解決方案

              最近在做一個Asp.net的專案,因為原來一直是用java來開發應用程式,改到Asp.net後,按照Java下的web開發思路,使用到json檔案,發現以往很順利的開發,在Asp.net中是相當的不順利,原因是微軟的.net平臺預設的安全性,不允許直接訪問本地的json檔案,需要在web.config中進行配置之後方可以訪問。

<?xml version="1.0" encoding="utf-8"?>

<!--
  有關如何配置 ASP.NET 應用程式的詳細資訊,請訪問
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->

<configuration>
    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
      <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN" uiCulture="zh-CN" fileEncoding="utf-8"/>
    </system.web>
  <!--配置 ASP.NET 可訪問本地JSON詳細配置-->
  <system.webServer>
    <security>
      <requestFiltering>
        <fileExtensions>
          <add fileExtension=".json" allowed="true"/>
        </fileExtensions>
      </requestFiltering>
    </security>
    <staticContent>
      <mimeMap fileExtension=".json" mimeType="text/json"/>
    </staticContent>
  </system.webServer>
  <system.web.extensions>
  <!--配置 JSON 序列化-->
  <scripting>
      <webServices>
        <jsonSerialization maxJsonLength="5000"/>
      </webServices>
    </scripting>
  </system.web.extensions>
</configuration> 
在專案開發的時候,發現本地JSON檔案只能通過GET的方式進行訪問,所以在訪問時候,需要配置GET方式。
  1. Ajax中配置TYPE=“GET”
  2. 表單中配置METHOD="GET"

因為專案中使用的是JQuery EasyUI,發現預設JQuery Datagrid預設使用的是POST方式,通過配置屬性method="get"來解決此方案。