ajax和基本数据提交的异常问题

时间:2013-01-26 23:40:07

标签: jquery ajax json

当我提交ajax时,我需要将三个数据参数发布到process.conversation.phpmethods_statec_id。在这两个输入值中找到s_statec_id。两个变量都已正确设置。我使用alert(s_state)alert(c_id),它们都符合我的预期。

除了我的c_id没有发布之外,一切都很好。如果我更改,在ajax c_id: '1'中,1将按照我的预期发布;但是,当我使用分配给1的变量c_id时,它不会被发布(或者至少没有发布我被警告的值......我不确定是哪个。)我这样做,但是,在所有情况下都获得成功{。}}。

注意:toggleClass与我期望的完全一样,s_state也是如此。如果method,则会使用该变量发布。所以,我不知道为什么s_state = '1'不起作用。

欢迎任何和所有想法。
可能出了什么问题?

的jQuery / AJAX:

c_id

和一些html:

$(".__conversation_s").click(function() {

var $thisS = $(this);
var s_state = $thisS.find("input[name='s_state']").val();
var c_id = $thisS.find("input[name='c_id']").val();

jQuery.ajax({
   type: 'POST',
   url: "./process.conversation.php",
   data: {
       method: 'star_toggle', 
       s_state: 's_state',
       c_id: 'c_id'     
   },
   cache: True,
   success: function() {
       $thisS.toggleClass("__starred");
   }
});
});

1 个答案:

答案 0 :(得分:3)

数据对象中的语法不正确。您在变量名称周围有引号,这意味着它们不是变量,而是包含与变量名称相同的字母的字符串。

data: {
       method: 'star_toggle', 
       s_state: 's_state',
       c_id: 'c_id'  /* will send the string with letters `c` and `_` and `id` to server*/   
   }

从变量中删除引号:

data: {
       method: 'star_toggle', 
       s_state: s_state,
       c_id: c_id 
   }