2013-02-21 40 views
2

我用jQuery 1.7.2和ajax功能的問題,當我調用下面的代碼,我得到在Firefox Firebug的控制檯以下錯誤:的jQuery 1.7.2 AJAX調用拋出NS_ERROR_XPC_NOT_ENOUGH_ARGS錯誤

NS_ERROR_XPC_NOT_ENOUGH_ARGS:沒有足夠的論據 [nsIDOMLocation.replace]

var weights= new Object(); 

    // weight is then manipulated in here 

    $.ajax(
     { 
      url: '/admin/countries/index.php', 
      data: ({action: 'sort', cid: cid, weights: weights}), 
      dataType: 'json', 
      success: function(data){      
       alert('suck-sess'); 
            // do stuff in here 
      }, 
      error: function (request, status, error) { 
       alert(request.responseText); 
      } 
     } 
    ) 

我甚至不能肯定,它的successfuly發出請求,當我轉儲$_REQUEST["action"]我我的index.php PHP它通過空白,當它應該清楚地'排序'。

當我執行代碼時,我沒有得到成功或錯誤警報,所以我看不到錯誤來自哪裏。

回答

0

事實證明,權重問題,因爲你可以看到它被定義爲一個JavaScript對象,但是我不得不使用JSON.stringify(weights)作爲JSON編碼的字符串來傳遞它。

0
NS_ERROR_XPC_NOT_ENOUGH_ARGS: Not enough arguments [nsIDOMLocation.replace] 

這是基於gecko的瀏覽器(firefox)拋出的那種內部錯誤。我不認爲它與你的代碼有關。對我來說更像是一個瀏覽器錯誤。

+0

我擔心這是我現在使用的jQuery版本(1.7.2)和'ajax'函數的實現問題,後者在jQuery的更高版本中進行了更改。 – crmpicco 2013-02-21 12:31:51

+1

@crmpicco「代碼看起來好的時候,你應該檢查數據」。你確定'權重'是一個有效的對象。看看[這個討論](http://chat.stackoverflow.com/transcript/5442/2011/11/29/16-17),看看它是否有幫助。 – sitifensys 2013-02-21 13:00:26

+0

事實證明'權重'是問題所在,因爲您可以看到它被定義爲JavaScript對象,但是我必須使用'JSON.stringify(權重)'作爲JSON編碼的字符串來傳遞它。 – crmpicco 2013-02-21 15:14:59