Javascript 为什么我能';t使用Jquery传递简单数组
我有一些简单的代码 HTTP状态400–错误请求 类型状态报告 消息所需字符串[]参数“testCaseNames”不存在 当它使用chrome开发者工具清晰地位于formData部分时Javascript 为什么我能';t使用Jquery传递简单数组,javascript,java,jquery,spring,Javascript,Java,Jquery,Spring,我有一些简单的代码 HTTP状态400–错误请求 类型状态报告 消息所需字符串[]参数“testCaseNames”不存在 当它使用chrome开发者工具清晰地位于formData部分时 flowName: gsaasggsa params[]: QUERY=select 1 from cuvar params[]: PASSWORD=xasf params[]: USERNAME={{ 0.OUTPUT }} params[]: PASSWORD=xxx params[]: USERNAME=
flowName: gsaasggsa
params[]: QUERY=select 1 from cuvar
params[]: PASSWORD=xasf
params[]: USERNAME={{ 0.OUTPUT }}
params[]: PASSWORD=xxx
params[]: USERNAME={{ 0.OUTPUT }}
testCaseNames[]: sql_test
testCaseNames[]: test_loginFail
testCaseNames[]: test_loginSuccess
我在这里错过了什么?为什么我不能通过它
$.ajax({
type: 'post',
url: "/flow/import",
data: {
linkageObject: linkageObject,
flowName: flowName,
params: params,
testCaseNames: testCaseNames
},
success: function() {
new PNotify({
title: 'Flow Creation',
text: 'Flow was imported successfully. It is available for use',
type: 'success'
});
location.href = "/execute-flow";
}
});
控制器
@RequestMapping(value = "/flow/import" , method = RequestMethod.POST
public @ResponseBody String importFlow(
HttpSession session,
@RequestParam("flowName") String flowName,
@RequestParam("testCaseNames") String[] testCaseNames,
@RequestParam(value = "params", required = false) String[] params,
@RequestParam(value = "linkageObject", required = false) String linkageObject) {
}
编辑:我没有放置linkageObject
linkageObject=%22%7B%5C%22operators%5C%22%3A%7B%5C%22operator0%5C%22%3A%7B%5C%22top%5C%22%3A160%2C%5C%22left%5C%22%3A640%2C%5C%22properties%5C%22%3A%7B%5C%22title%5C%22%3A%5C%22sql_test+(SQL)%5C%22%2C%5C%22inputs%5C%22%3A%7B%5C%22input_0%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22QUERY%5C%22%7D%7D%2C%5C%22outputs%5C%22%3A%7B%5C%22output_0%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22OUTPUT%5C%22%7D%7D%7D%7D%2C%5C%22operator1%5C%22%3A%7B%5C%22top%5C%22%3A260%2C%5C%22left%5C%22%3A920%2C%5C%22properties%5C%22%3A%7B%5C%22title%5C%22%3A%5C%22test_loginFail+(CSR)%5C%22%2C%5C%22inputs%5C%22%3A%7B%5C%22input_0%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22USERNAME%5C%22%7D%2C%5C%22input_1%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22PASSWORD%5C%22%7D%7D%2C%5C%22outputs%5C%22%3A%7B%7D%7D%7D%2C%5C%22operator2%5C%22%3A%7B%5C%22top%5C%22%3A100%2C%5C%22left%5C%22%3A920%2C%5C%22properties%5C%22%3A%7B%5C%22title%5C%22%3A%5C%22test_loginSuccess+(CSR)%5C%22%2C%5C%22inputs%5C%22%3A%7B%5C%22input_0%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22USERNAME%5C%22%7D%2C%5C%22input_1%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22PASSWORD%5C%22%7D%7D%2C%5C%22outputs%5C%22%3A%7B%7D%7D%7D%7D%2C%5C%22links%5C%22%3A%7B%5C%221%5C%22%3A%7B%5C%22fromOperator%5C%22%3A%5C%22operator0%5C%22%2C%5C%22fromConnector%5C%22%3A%5C%22output_0%5C%22%2C%5C%22fromSubConnector%5C%22%3A0%2C%5C%22toOperator%5C%22%3A%5C%22operator2%5C%22%2C%5C%22toConnector%5C%22%3A%5C%22input_0%5C%22%2C%5C%22toSubConnector%5C%22%3A0%7D%2C%5C%222%5C%22%3A%7B%5C%22fromOperator%5C%22%3A%5C%22operator0%5C%22%2C%5C%22fromConnector%5C%22%3A%5C%22output_0%5C%22%2C%5C%22fromSubConnector%5C%22%3A0%2C%5C%22toOperator%5C%22%3A%5C%22operator1%5C%22%2C%5C%22toConnector%5C%22%3A%5C%22input_0%5C%22%2C%5C%22toSubConnector%5C%22%3A0%7D%7D%2C%5C%22operatorTypes%5C%22%3A%7B%7D%7D%22&flowName=gsaasggsa¶ms%5B%5D=QUERY%3Dselect+1+from+cuvar¶ms%5B%5D=PASSWORD%3Dxasf¶ms%5B%5D=USERNAME%3D%7B%7B+0.OUTPUT+%7D%7D¶ms%5B%5D=PASSWORD%3Dxxx¶ms%5B%5D=USERNAME%3D%7B%7B+0.OUTPUT+%7D%7D&testCaseNames%5B%5D=sql_test&testCaseNames%5B%5D=test_loginFail&testCaseNames%5B%5D=test_loginSuccess
完整代码:
var reader = new FileReader();
reader.onload = function(event) {
var jsonObject = JSON.parse(event.target.result);
var testCaseNames = [],
params = [];
var linkageObject = null;
$.each(jsonObject, function(index, testCase) {
console.log(testCase);
if (testCase.hasOwnProperty("linkageObject")) {
linkageObject = JSON.stringify(testCase.linkageObject);
} else {
var testCaseName = testCase.name.split("/")[1].split('.')[0];
testCaseNames.push(testCaseName);
$.each(testCase.inputs, function(k, v) {
params.push(k + "=" + v);
});
}
});
$.ajax({
type: 'post',
url: "/flow/import",
//url: '/flow/import?flowName=' + flowName + "&testCaseNames=" + testCaseNames + "¶ms=" + params,
data: {
linkageObject: linkageObject,
flowName: flowName,
params: params,
testCaseNames: testCaseNames
},
success: function() {
new PNotify({
title: 'Flow Creation',
text: 'Flow was imported successfully. It is available for use',
type: 'success'
});
location.href = "/execute-flow";
}
});
};
reader.readAsText(file);
}
在Chrome developer tools的“网络”选项卡下,您是否可以获取
表单数据/请求有效负载
“原始”数据(单击查看源代码
)然后把这些信息放在你的问题中?另外,在请求标题中内容类型说什么?内容类型:text/html;charset=utf-8。我将在编辑中发布源代码。在有人说是关于linkageObject之前,并不是因为如果我删除,我会得到相同的错误。你提交的是testCaseNames[]…因此,在java代码中尝试@RequestParam(“testCaseNames[])
@Joschi-lol它起作用了。。。