为什么我无法获得ajax值?

时间:2012-03-23 17:56:58

标签: php ajax

我尝试从ajax向我的php文件发送一些数据,但我无法成功。 这是我的ajax文件,

 var artistIds = new Array();

    $(".p16 input:checked").each(function(){
        artistIds.push($(this).attr('id'));
    });


    $.post('/json/crewonly/deleteDataAjax2',artistIds,function(response){
        if(response == 'ok')
            alert('error');
        else
            alert('nop');
    })

在PHP方面我使用此代码

 extract($_POST);

 if(isset($artistIds))
     $this->sendJSONResponse('ok');
 else
     $this->sendJSONResponse('error');

$ artistIds总是带有null 为什么为什么

最后我来到这里但也行不通

    var artistIds = new Array();

    $(".p16 input:checked").each(function(){
        artistIds.push($(this).attr('id'));
    });


   $.post('/json/crewonly/deleteDataAjax2', { artistIds: artistIds },function(response){
        if(response == 'ok')
            alert('dolu');
        elseif (response == 'error')
            alert('bos');
    });*

3 个答案:

答案 0 :(得分:0)

如果没有序列化到名称 - 值对,则无法发布数组。

请参阅:http://api.jquery.com/serialize/

答案 1 :(得分:0)

您需要传递一个对象以将值与名称相关联。

var data = {
    artistIds: artistIds //Here, the property name is "artistIds", which is going to be the name of your PHP variable. Your JS variable is also called that.
};

$.post('/json/crewonly/deleteDataAjax2',data,function(response){
//...

答案 2 :(得分:0)

你的$ .post是这样的:

$.post('/json/crewonly/deleteDataAjax2', { artistIds: artistIds }, ...);