如何迭代对象数组

时间:2017-08-14 06:31:53

标签: php jquery wordpress

我从JQuery ajax方法调用PHP函数。以下是响应从ajax调用看起来的方式:

enter image description here

我的问题是:如何在jquery中迭代这个数组来获取值?

我得到"不能使用''运营商搜索'长度'在Array"如果我使用$ .each迭代。

以下是代码:

$("#member_country").change(function() {
        var country = $(this).val();
        //alert(country);
        var ajax_url_mtypes = ins_membership_ajax.ajax_url;                    
        //alert(ajax_url_mtypes);
        jQuery.ajax({
        url:ajax_url_mtypes, 
        data:{country:country, 
        action: "ins_get_membershiptypes_from_country"},
        method:'GET',
        contentType: "application/json;charset=utf-8",
        success:function(response) {
          //var resp = $.trim(response);
          alert(response);
          $.each(response, function( key, value ) {
              alert( key );
              alert( value );
            });              
      }
      });

PHP代码:

 public static function getMembershipTypesNonAdmin($country){
        $rtn = array();
        global $wpdb;
        $table = $wpdb->prefix.self::TABLE_NAME;
        $query = "SELECT * FROM {$table} where admin_only = 'false' order by member_type";
        $results = $wpdb->get_results($query);
        if($results){
            foreach($results as $row){
                $membership_type = INS_Membership_Types::loadById($row->id);
                $membership_type->setDues(INS_Membership_Types::getDuesByEconomy($country, $membership_type->getMemberType()));
                $rtn[] = $membership_type;
            }
        }
        return $rtn;
    }

    private $dues;

    public function getDues()
    {
        return $this->dues;
    }

    public function setDues($dues)
    {
        return $this->dues = $dues;
    }

2 个答案:

答案 0 :(得分:0)

您可以循环遍历对象。如下所示:

for(var prop in object){
console.log(object[prop]);
}

希望这有帮助。

答案 1 :(得分:0)

尝试使用json。 使用

  

json_encode()

在php代码和

  

dataType:“json”

在ajax调用中