2013-05-21 86 views
1

上午使用ajax請求調用澤西平靜的網址。無法使用動態JSON

function deRegisterPersonOrganization() { 
    var dynamicJson = $('#jsonRequest').val(); 
    alert("Text Area JSON : " +dynamicJson); 
    var jsonObj = { 
     "solutionProviderKey" : "e3fad159-ac18-462d-a20e-17763af3689b" 
    }; 
    $.ajax({ 
     type: 'POST', 
     contentType: 'application/json', 
     url: rootURL + '/e3fad159-ac18-462d-a20e-17763af3689b/deregister', 
     dataType: "json", 
     data: JSON.stringify(dynamicJson), 
     success: function(data, textStatus, jqXHR){ 
      alert('Deregister successfull'); 
     }, 
     error: function(jqXHR, textStatus, errorThrown){ 
      alert('Deregister error: ' + textStatus); 
     } 
    }); 
} 

問題是我需要給JSON請求,我將通過文本區域。 在上面的代碼中,如果我在dynamicJson的地方使用變量jsonObj請求成功。但如果我使用dynamicJson在textarea我給

{ 
    "solutionProviderKey" : "e3fad159-ac18-462d-a20e-17763af3689b" 
} 

作爲請求,無法處理請求。

請儘快幫助我。

回答

1

將字符串轉換爲json對象。

var dynamicJson = JSON.toJSON($('#jsonRequest').val()); 

KJ

+1

Thanku這麼多..這個作品。也$ .parseJSON($('#jsonRequest')。val())的作品。 – Satheesh

2

它不起作用,因爲textarea的值是一個字符串,而不是JSON對象。我會建議:

var dynamicJson = eval(textarea.value); 

然後像現在一樣將dynamicJson傳入方法調用。

+0

爲什麼使用JavaScript eval函數是一個壞主意? http://stackoverflow.com/questions/86513/why-is-using-the-javascript-eval-function-a-bad-idea – Kieran

+0

是的。這只是將字符串轉換爲JSON對象的一種建議方式。我可以看到你建議從答案的另一種方式。感謝評論。 –

+0

這不工作。該請求在此處更改爲形成提交事件。 – Satheesh