我面臨一個問題,我不知道如何在標題中理解地描述,對不起。希望它會在文中更清晰。jquery .post(url,params) - 如果params是一個字符串,如何使用它?
我已經做了jquery的ajax後,工作正常。它是這樣的:
var p1 = $.post(url,{what:"Add",d:dokid,u:seluserid});
p1.done(function(data){
...
現在,複製另一側(與表單)有很多單選按鈕裏面,我建在{}爲一個字符串(paramlist)的一部分,並試圖做一樣。由此產生的字符串參數列表:
paramlist = {what:"insert",ID:"-1",Name:"",Beschreibung:"",FieldX:"4",FieldY:"4",Roles:"4",FieldZ:"4",FieldN:"4"}
我得到FieldNames和值通過瀏覽到每個無線電元素。
現在我通過調用。員額:
var p1 = $.post(url,paramlist);
p1.done(function(data){
...
這似乎沒有這樣的工作方式,爲我的PHP承認失敗後的參數。
$what=$_POST['what'];
給我PHP公告:未定義指數:什麼... 所以很顯然,我必須將字符串轉換成別的東西。但是如何?我現在沒有搜索條件,所以我想問。 jquery api沒有幫助我。也許我在這些東西中都是一個新手... 任何想法?
我做了什麼來得到它的工作: 去除字符串中的括號{}並把所有的元素」所以現在paramlist樣子:
paramlist = "what":"insert","ID":"-1","Name":"","Beschreibung":"","FieldX":"4","FieldY":"4","Roles":"4","FieldZ":"4","FieldN":"4"}
然後將字符串轉換爲對象(與String to object in JS幫助下)使用eval:
objparamlist=eval('({' + paramlist + '})');
現在呼籲
var p1 = $.post(url,objparamlist);
作品。
感謝大家的幫助!
停止建設作爲一個字符串,然後,並創建一個對象,而不是和它的工作 – adeneo
我做的字符串轉換(少許修改的)一個對象,我會上方編輯 – Marco