gpt4 book ai didi

javascript - 将 JSON 字符串发布到 JSP 时出现意外标记

转载 作者:行者123 更新时间:2023-12-02 17:50:45 25 4
gpt4 key购买 nike

这是我的代码:

var polylineStringified = JSON.stringify(polyPath.getArray());

$.ajax({
type: 'POST',
url: 'jsonposttest.jsp',
data: { Polyline: polylineStringified },
dataType: 'json',
success: function(json) {
alert('json from post test: ' + JSON.stringify(json));
}, error: function(xhr, ajaxOptions, thrownError){
alert('Error xhr : ' + xhr.status);
alert('Error thrown error: ' + thrownError);
}

});

和服务器端:

<%

String test;
test = getRequest(pageContext, "Polyline");

response.setContentType("application/json");

%>

[
{"val": "Got it: <%=test%>" }
]

polylineStringified 看起来像这样:

[{"d":41.919372021888826,"e":-87.69811456091702},{"d":41.90506457136218,"e":-87.23119561560452},{"d":41.80277524389252,"e":-87.23668877966702},{"d":41.74747099702249,"e":-87.35479180701077}]

我在控制台中收到的错误是意外的 token d。有什么想法吗?

最佳答案

我认为你不必要地对你的 javascript 对象进行字符串化。如果您使用以下内容会发生什么?

var polylineArray = [{
"d": 41.919372021888826,
"e": -87.69811456091702
}, {
"d": 41.90506457136218,
"e": -87.23119561560452
}, {
"d": 41.80277524389252,
"e": -87.23668877966702
}, {
"d": 41.74747099702249,
"e": -87.35479180701077
}];

$.ajax({
type: 'POST',
url: 'jsonposttest.jsp',
data: { Polyline: polylineArray },
dataType: 'json',
success: function(json) {
alert('json from post test: ' + JSON.stringify(json));
}, error: function(xhr, ajaxOptions, thrownError){
alert('Error xhr : ' + xhr.status);
alert('Error thrown error: ' + thrownError);
}
});

编辑:这是另一个示例,您可以在 jsFiddle 尝试。

它应该非常简单,因此您可以在每个步骤中将其与您的情况进行比较,以找出您的情况存在问题。

jQuery(document).ready(function ($) {
var Q = function (d, e) {
this.d = d;
this.e = e;
}
var data = [];
for (var i = 0; i < 5; i++) {
var r1 = 100 * (2*Math.random() - 1);
var r2 = 100 * (2*Math.random() - 1);
data.push(new Q(r1, r2));
}
console.log("About to send data", data);

$.ajax({
type: 'POST',
url: '/echo/json/',
data: {
Polyline: data
},
dataType: 'json',
//processData: false,
success: function (data, textStatus, jqXHR) {
console.log("success", data, textStatus, jqXHR);
//alert('json from post test: ' + JSON.stringify(data));
},
error: function (xhr, ajaxOptions, thrownError) {
console.log("error", xhr, ajaxOptions, thrownError);
//alert('Error xhr : ' + xhr.status);
//alert('Error thrown error: ' + thrownError);
}
});
});

关于javascript - 将 JSON 字符串发布到 JSP 时出现意外标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21383807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com