在JQuery上使用x-www-form-urlencoded数据

时间:2018-04-13 14:01:53

标签: javascript jquery ajax postman

我正在使用邮递员点击programmr.com api,快照成功如下:

enter image description here

卷曲版:pastebin.com/GQDZJALj

然后我尝试使用JQUERY使用以下代码点击API:

var data = "InputJSON:" +  JSON.stringify({  "mode": "java_example",  "apiKey": "bb6b589027a097b38e8cc47cffb8e70a",  "files": [    {      "name": "Test.java",      "content": "class Test{\n    \n public static void main(String[] arg){\n     \n     System.out.println(\"wwwwwww!!\");     \n  }\n\n}\n\n"    }  ], "eval code": ""});

          $.ajax({
            type: 'POST',
            url: "http://console.programmr.com/api/eval",
            headers: {'Content-Type': 'application/x-www-form-urlencoded'},
            contentType: 'application/x-www-form-urlencoded; charset=utf-8',
            dataType: 'json',
            data:  data,
            success: function (response) {
                console.log(response);
                return response;
            }

原始字符串数据:

InputJSON:{"mode":"java_example","apiKey":"bb6b589027a097b38e8cc47cffb8e70a","files":[{"name":"Test.java","content":"class Test{\n    \n public static void main(String[] arg){\n     \n     System.out.println(\"wwwwwww!!\");     \n  }\n\n}\n\n"}],"eval code":""}

API响应一直说我的JSon无效

{error: "Invalid JSON"}

我的问题是如何像postman一样使用Javascript / JQuery请求API?

感谢任何帮助。

提前致谢

更新

它应该是:

 var data = "InputJSON=" +  JSON.stringify({  "mode": "java_example",  "apiKey": "bb6b589027a097b38e8cc47cffb8e70a",  "files": [    {      "name": "Test.java",      "content": "class Test{\n    \n public static void main(String[] arg){\n     \n     System.out.println(\"wwwwwww!!\");     \n  }\n\n}\n\n"    }  ], "eval code": ""});

1 个答案:

答案 0 :(得分:1)

InputJSON在这里应该是POST参数名称,因此它不应与中间带有:的数据连接。

它应遵循正常的name=value格式。