2012-07-24 50 views
1

我的問題:json字符串作爲文件返回。當我調用getJSONResult操作時,它會給我一個帶有json字符串的文件,我可以打開或下載它。獲取JSON彈出保存或打開對話而不是實際的內容?

我認爲這是一個配置問題,但我找不到它。如果有人能幫助我,我會很高興,謝謝你們!

我有一個提交使用操作和執行方法來獲取數據的開放表單。然後,我可以讓jquery工作的唯一方法是放置一個只返回'success'的動作和執行方法,然後用第三個動作進入我的jQuery網格。

struts.xml的

<struts> 
    <package name="live" namespace="/live" extends="struts-default,json-default"> 
     <action name="gridAction" class="core.action.AdminAction"> 
     <result name="success" type="json"></result> 
     <result name="error">/live/YYY.jsp</result> 
     </action> 
    </package> 
</struts> 
+0

你的問題對我來說不是很清楚..你真的得到了什麼問題?你是否起訴struts2-json插件? – 2012-07-24 06:43:24

+0

嗨Umesh,讓我先解釋我的情況。我正在使用struts2 jquery進行UI開發,並使用Struts2進行流程。我面臨的問題是,whenevr正在嘗試登錄我的頁面,而不是顯示正在獲取JSON內容的下載彈出窗口的網格。我不知道我犯了什麼錯誤...並且我正在使用struts2-json插件 – Esh 2012-07-24 06:50:57

+1

你能顯示相關部分的代碼和xml嗎?你需要使用結果類型作爲'JSON' – 2012-07-24 07:03:37

回答

2

我假設你使用IE瀏覽器,因爲我從來沒有得到這個問題,谷歌瀏覽器(甚至還有一個插件,它格式化所有精美,嬌滴滴:https://chrome.google.com/webstore/detail/chklaanhfefbnpoihckbnefhakgolnmc

搜索的時候,我「已經拿出了兩頁,提供同樣的解決您的問題,如果你確實使用的是IE:

View JSON in Internet Explorer

How can I convince IE to simply display application/json rather than offer to download it?

主要要點的解決方案在於:

需要在IE中查看JSON響應?

  1. 打開記事本,粘貼以下:

    Windows Registry Editor Version 5.00; 
    ; Tell IE 7,8,9 to open JSON documents in the browser on Windows XP and later. 
    ; 25336920-03F9-11cf-8FD0-00AA00686F13 is the CLSID for the "Browse in place" . 
    ; 
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/json] 
    "CLSID"="{25336920-03F9-11cf-8FD0-00AA00686F13}" 
    "Encoding"=hex:08,00,00,00 
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\text/json] 
    "CLSID"="{25336920-03F9-11cf-8FD0-00AA00686F13}" 
    "Encoding"=hex:08,00,00,00 
    
  2. 將文檔另存爲IE-Json.reg,然後運行它。 注意:這已經在Windows XP和Windows 7上使用IE 7,8,9測試過。
1

沒有問題(Struts2的問題即是),這是因爲你使用的是Chrome,並要求其返回,而無需使用AJAX一個JSON結果的行動。有些瀏覽器只會爲您提供個人下載對話框,我真的很喜歡Chrome瀏覽器在瀏覽器窗口中顯示json字符串,沒有任何問題......這對調試非常有用。

更新我沒有看IE瀏覽器,你在哪裏得到下載對話的第一個屏幕截圖。

爲了防止這種情況......我以爲你要異步調用的行動,並既然你提到使用jQuery(在你的意見)你應該看看jQuery.getJSON()

如果這個解決方案做得不夠您請將您用於視圖的代碼張貼出來,因爲問題在於此。

相關問題