2012-05-07 26 views
2

這裏是我的示例代碼:jQuery的AJAX JSON報價格式WCF

var postData = '{"studentId":"' + $("#hidId").val() + '"}'; 
$.ajax({ 
    type: 'POST', 
    url: 'SomeService.svc/AddId', 
    data: postData, 
    contentType: 'application/json; charset=utf-8', 
    dataType: 'json', 
    success: function (msg) { 
     //do something... 
    } 
}); 

我想POSTDATA的報價是因爲它(與周圍參數雙引號,單碼不爲我工作),但在瀏覽器中運行它,所有的單引號變爲雙引號和雙引號仍然是它,它成爲這樣的:

"{"studentId":"ST001"}"

我需要在這個格式字符串:

'{"studentId":"ST001"}'

任何人都知道如何克服這個問題?

更新: 我自己排序,問題在於我提交的數據值,'studentId'應該是Guid以便與WCF服務參數類型匹配。

回答

1

使用轉義字符\

var postData = '{"studentId":\'' + $("#hidId").val() + '\'}'; 
+0

不行的,還產生我提到了相同的結果。 – foo0110

+0

你能寫出你以後的結果嗎?例如:'{「studentId」:「ST001」}或{「studentId」:ST001}或{「studentId」:「ST001」}或{「studentId」:'ST001'}? –

+0

{「studentId」:「ST001」} - 這就是我想要的。 – foo0110

0
var postData = {}; 
postData.studentId = $("#hidId").val(); 

...

data: JSON.stringify(postData), 
+0

將它串化後,結果變成: '「」{\「StudentId \」:\「ST001 \」}「」' – foo0110

+0

對不起,忘了提及postData需要是一個javascript對象。我更新了我的答案。 –

+0

沒有幫助,它仍然給我:'「{」StudentId「:」ST001「}」' – foo0110