Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我能';t使用Jquery传递简单数组_Javascript_Java_Jquery_Spring - Fatal编程技术网

Javascript 为什么我能';t使用Jquery传递简单数组

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=

我有一些简单的代码

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={{ 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&params%5B%5D=QUERY%3Dselect+1+from+cuvar&params%5B%5D=PASSWORD%3Dxasf&params%5B%5D=USERNAME%3D%7B%7B+0.OUTPUT+%7D%7D&params%5B%5D=PASSWORD%3Dxxx&params%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 + "&params=" + 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它起作用了。。。