JQuery Ajax请求不通过post变量发送

时间:2014-01-11 12:33:13

标签: jquery

使用JQuery Ajax函数发送post变量时遇到困难,将类型更改为GET都有效。

代码

function loadAttributes() {
            var selectedValues = [];    
            var presentValues = [];    
            $('#attrplaceholder div').each(function(){
                if (typeof $(this).data('attrid') !== 'undefined')
                {
                    presentValues.push($(this).data('attrid'));
                } 
             });
            $("#categories :selected").each(function(){
                   selectedValues.push($(this).val()); 
            });



            jQuery.ajax({
               url: 'backend.php?r=products/setProductAttributes',
               type: "POST",
               dataType:"html",
                contentType: 'text/html; charset=utf-8',
               data: {ids: selectedValues,presentids: presentValues},
               success: function(json){
alert(json)
                        if(json!='[]'){
                            var obj = eval ("(" + json + ")"); 
                            if(obj.json !== 'undefined'){
                                    $.each(obj.json, function(k, v) {
                                        if(k==='views'){
                                            $("#attrplaceholder").append(v);
                                        }
                                        if(k==='rem'){
                                            var remvals = v.toString().split(",");
                                            for(i=0;i<remvals.length;i++){
                                                $("#attrgrp_"+remvals[i]).remove();
                                            }

                                        }
                                    });
                            }
                        }
               }
               });
            return false;
         }

        loadAttributes() 

        $("#categories").on("change",function(){
            loadAttributes() 
        });

任何指针都会有所帮助,我尝试使用contentTypes但仍然没有运气

1 个答案:

答案 0 :(得分:1)

contentType是您发送到服务器端的数据格式

在您的情况下,您应将其设置为:application/x-www-form-urlencoded; charset=UTF-8application/json; charset=UTF-8,具体取决于服务器端期望的格式

或完全删除它,因为默认情况下contentTypeapplication/x-www-form-urlencoded; charset=UTF-8

Differences between contentType and dataType in jQuery ajax function