2014-01-20 43 views
1

我有一個ajax POST將數據發送到控制器函數,該函數將字符串數組作爲ajax成功方法中的默認第一個參數返回給ajax調用。當我嘗試使用返回的數據時,它不會讓我將第一個元素打印到警告框。怎麼來的?AJAX:如何使用返回的數組?

$.ajax(
     { 
      type: "POST", 
      url: "../Home/stringSplitFunct", 
      data: { 'parameter1': Input }, 
      success: function (response) 
      { 
       alert(response[0]);     
      } 
     }); 

其實,我不認爲它甚至將其識別爲一個字符串數組。

+0

你是否把它變成成功的方法?當ajax返回時實際上有什麼迴應? – Bic

+0

嘗試使用實際的調試工具,如控制檯,並執行'console.log(response)',然後發佈你得到的東西。 – adeneo

+0

或檢查chrome發送到服務器的內容(網絡選項卡)。 – nathanvda

回答

1

您需要指定dataType。閱讀更多here

$.ajax({ 
      type: "POST", 
      url: "../Home/stringSplitFunct", 
      data: { 'parameter1': Input }, 
      dataType: 'json', 
      success: function (response) 
      { 
       alert(response[0]);     
      } 
     }); 
+0

不僅要更改數據類型,還要確保返回JSON對象,並使用eval()將其解析爲JavaScript對象。 – RedAces

1

看起來數據正在以原始狀態返回。

使用dataType屬性的Ajax請求

dataType: 'json' 

也要避免,因爲它停止執行流程使用警報。改用console.log

+2

我想象這個警報只是爲了快速和骯髒的故障排除。並且控制檯有它自己的陷阱;例如,如果一個頁面試圖在IE中使用控制檯而開發者工具沒有打開,它會生成一個javascript錯誤並終止腳本。 – Dave

相關問題