当前位置: 首页 > 知识库问答 >
问题:

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

国兴文
2023-03-14
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个答案

殳飞扬
2023-03-14

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

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

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

 类似资料:
  • 问题内容: 如何通过JavaScript发送跨域POST请求? 注意-它不应该刷新页面,之后我需要抓取并解析响应。 问题答案: 如果你控制要发布的服务器,只需在服务器上设置响应头即可利用“跨域资源共享标准”。此答案在该主题的其他答案中进行了讨论,但我认为不是很清楚。 简而言之,这里是如何完成从from.com/1.html到to.com/postHere.php的跨域POST(以PHP为例)。注意

  • 这是我的虚拟接口 和我的自定义配置 如果我像这样发送请求,我会看到我的请求发送了Content-Type:application/JSON;字符集=UTF-8。但是如果我设置了内容类型 我收到了这条错误消息。 如何发送POST请求,我认为我应该用编码器做更多的东西。感谢您的帮助。

  • 问题内容: 我需要插入所有随发布发送的变量,它们是每个代表用户的复选框。 如果我使用GET,将会得到如下信息: 我需要在数据库中插入变量。 如何获取所有通过POST发送的变量?用逗号或其他东西隔开的数组或值? 问题答案: 该变量将自动填充。 尝试查看内容。 您可以这样访问各个值: 当然,这假设您的表单使用的是典型的表单编码(即 如果您的帖子数据采用其他格式(例如JSON或XML),则可以执行以下操

  • 我在Java客户端有以下代码,它调用基于Spring的REST服务,我得到一个HTTP 400错误。但它与POST man Client完美配合 Java客户端: 服务器端REST服务代码为 现在,当客户端发送请求时,它会给我http 400错误,这可能是因为在客户端,即时消息发送JSON字符串,而在服务器端,它是一个主体,但这在POST MAN上有效 谁能建议我如何通过Java向基于spring

  • 我在通过C#API中的WebClient发送POST请求时遇到问题。该职位要求如下: 我知道如何处理像用户代理等标题。,但是我对边界有一个问题。我不知道怎么把它们放在哪里...

  • 我是一名服务器端开发人员,学习vanilla JS的诀窍。我需要澄清我的概念,即为我在JS中创建的图像对象发送Ajax POST请求——这个问题与此有关。 想象一下一个网络应用,用户上传照片供他人查看。在上传每个图像时,我使用vanilla JS确认图像的mime类型(通过解释幻数),然后调整图像大小以达到优化目的。 调整大小后,我会: 返回的图像对象必须通过Ajax请求发送到后端。比如: 然而,