[LayaAir3]后端用的是java,联调时候接不到数据

求各位大神帮助,真的非常感谢!
initHttpRequest(): void {
        let maryParam1: MaryParam = {
            id: parseInt(Laya.LocalStorage.getItem("userOrder")),
            point: parseInt(this.addPoint.text)
        };
        let maryParam = JSON.stringify(maryParam1);
        this.hr = new Laya.HttpRequest();
        this.hr.send('http://localhost:8081/mary/change/one', { id: 28, point: 100 }, 'post', 'json', ["Content-Type", "application/json"])
    }
后端报错信息如下:2024-06-24 14:19:01.369 ERROR 21416 --- [io-8081-exec-10] c.e.g.exception.GlobalExceptionHandler 
 : Throwable异常: Invalid mime type "application/json, application/json": Invalid token
character ',' in token "json, application/json"
已邀请:

正阳子

赞同来自:

1.去掉参数 [size=14]["Content-Type", "application/json"][/size]
2.传递给后端的参数需要以 MIME 内容编码格式发送
HttpUtil.encode([size=14]{ id: 28, point: 100 }[/size]);
export default class HttpUtil {
/**
* 以 MIME 内容编码格式 application/x-www-form-urlencoded 返回包含所有可枚举变量的字符串。
* @version Egret 2.4
* @platform Web,Native
* @language zh_CN
*/
public static encode = function (variables) {
if (!variables) {
return "";
}
var stringArray = [];
for (var key in variables) {
stringArray.push(HttpUtil.encodeValue(key, variables[key]));
}
return stringArray.join("&");
};
/**
* @private
*
* @param key
* @param value
*/
public static encodeValue = function (key, value) {
if (value instanceof Array) {
return HttpUtil.encodeArray(key, value);
}
else {
return encodeURIComponent(key) + "=" + encodeURIComponent(value);
}
};
/**
* @private
*
* @param key
* @param value
*/
public static encodeArray = function (key, value) {
if (!key)
return "";
if (value.length == 0) {
return encodeURIComponent(key) + "=";
}
return value.map(function (v) { return encodeURIComponent(key) + "=" + encodeURIComponent(v); }).join("&");
};
/**
* 将变量字符串转换为此 URLVariables.variables 对象的属性。
* @param source {string}
* @version Egret 2.4
* @platform Web,Native
* @language zh_CN
*/
public static decode = function (source) {
var result = {};
source = source.split("+").join(" ");
var tokens, re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(source)) {
var key = decodeURIComponent(tokens[1]), val = decodeURIComponent(tokens[2]);
//没有重复键值,直接赋值
if ((key in result) == false) {
result[key] = val;
continue;
}
//有重复键值,如果已经存在数组,直接push到数组,否则创建一个新数组
var value = result[key];
if (value instanceof Array) {
value.push(val);
}
else {
result[key] = [value, val];
}
}

return result;
};
}

要回复问题请先

商务合作
商务合作