2016-01-13 40 views
0

多個數據PARAMS我有一個字符串:發送jQuery中從串收集的Ajax

'{格式: 「JSON」,用戶: 「用戶」,密碼: 「密碼」}'

,我想用jQuery的AJAX發送所有這些數據。我試過這種方式(requestData ['data']是字符串):

$.ajax({ 
    url: requestData['url'], 
    type: requestData['type'], 
    data: requestData['data'], 
    error: function(xhr) { 
     alert("failed"); 
    }, 
    dataType: 'json', 
    success: function(data, textStatus, xhr) { 
     alert("success"); 
    } 
}); 

是否必須以某種方式編碼字符串?

+1

[jQuery的AJAX和JSON格式(可能的重複http://stackoverflow.com/questions/17426199/jquery- ajax和json格式) –

+0

_我必須以某種方式對字符串進行編碼嗎?_這取決於您將如何處理服務器上的這些數據。順便說一句:你的字符串是**無效的** JSON,所以你不能在服務器上通過標準方式解碼它('json_decode') – hindmost

+0

爲什麼它不是一個有效的JSON? –

回答

0
var datum = { 
    format: "json", 
    user: "user", 
    password: "password" 
}; 

$.ajax({ 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    url: url,   // your url 
    dataType: "json", 
    data: JSON.stringify(datum), 
    success: function(response) { 
     var result = response; 
    } 
}); 
+0

謝謝。但想象一下,我有一個字符串,而不是一個變量。你做到這一點很棒,但它不會幫助我。我試圖將字符串轉換爲對象。你有什麼想法,我應該如何以正確的方式做到這一點? –

+0

這可能有助於[javascript string to object](http://stackoverflow.com/questions/13718326/javascript-string-to-object) – ozil

0

您可以將整個對象,它不是一個問題:

var jsonObj = {format: "json", user: "user", password: "password"}; 

$.ajax({ 
    url: requestData['url'], 
    type: jsonObj, 
    data: requestData['data'], 
    error: function(xhr) { 
     alert("failed"); 
    }, 
    dataType: 'json', 
    success: function(data, textStatus, xhr) { 
     alert("success"); 
    } 
});