Jquery帖子回拨不起作用

时间:2012-03-22 15:38:16

标签: php javascript jquery json

我的jQuery回调函数不起作用。

 Competitor = {
    addCompetitorForSave: function($data) {

            $.post('/competition/add', $data , function($json) {

            }, 'json');

           return $json; // I need to return json data .
        }
}

之后我需要做下一步。

 var data  = $('someForm').serialize();
 var $json  = Competition.addCompetitorForSave(data);

非常感谢。

3 个答案:

答案 0 :(得分:3)

在帖子有机会完成之前调用警报。将警报置于回调中。

答案 1 :(得分:3)

post异步完成,但alert同步运行。因此尚未设置qa值。这里不需要返回值,而是需要将额外的回调传递给addCompetitorForSave

addCompetitorForSave: function($data, callback) {
  var qa  = 0;
  $.post('/competition/add', $data , function($json) {
    callback($json);
  }, 'json');
}

var obj = ...;
obj.addCompetitorForSave(theData, function(qa) {
  alert(qa);
});

答案 2 :(得分:0)

尝试:

addCompetitorForSave: function($data) {

        var qa  = 0;


        $.post('/competition/add', $data , function($json) {
             qa = $json; //this does not work
             alert(qa); //getting 0;
        }, 'json');

        return qa;
    }