2011-04-01 62 views
1

如何將字符串中的反斜槓傳遞給jquery ajax調用?如何將字符串中的反斜槓傳遞給jquery ajax調用?

在我的例子fileFolder等於\\服務器\媒體\

function getFileList() { 

     var fileFolder = $("#fileFolder").val(); // val equal to \\server\media\ 

     $.ajax({ 
      type: "POST", 
      url: "service/getFileList", 
      data: "{ 'folder': '" + fileFolder + "' }", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (response) { 
       ...do stuff here 
       } 
      } 
     }); 
    } 

回答

0

改變各削減到一個雙斜線:

fileFolder = fileFolder.replace("\","\\"); 
+1

已經嘗試過 - 它不能很好地工作。 – Jason 2011-04-01 13:42:00

+0

你試過後發生了什麼?結果是什麼? – 2011-04-01 13:43:09

+0

如果我通過'\\測試\\測試'它的作品,但如果我通過'\\\\測試\\測試'它失敗 - 沒有任何反應。 – Jason 2011-04-01 13:47:28

1

我認爲數據應該是一個字符串,如下所示:

"folder=" + encodeURIComponent(fileFolder) + "&foo=bar" 

或對象,如下所示:

{folder: fileFolder} 

jQuery將在發佈數據之前進行轉義。使用第二種方法,您的代碼變爲:

function getFileList() { 
    $.ajax({ 
     type: "POST", 
     url: "service/getFileList", 
     data: { 
      folder: fileFolder 
     }, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (response) { 
      // do stuff here 
     } 
    }); 
} 
+0

它不起作用 - 請參閱修訂後的代碼 – Jason 2011-04-01 13:56:59

+0

預期輸出是什麼?你看到了什麼呢? – 2011-04-01 14:38:40