Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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
Play1.2.7中对控制器的Ajax/Json请求无法指定内容类型_Json_Playframework 1.x - Fatal编程技术网

Play1.2.7中对控制器的Ajax/Json请求无法指定内容类型

Play1.2.7中对控制器的Ajax/Json请求无法指定内容类型,json,playframework-1.x,Json,Playframework 1.x,我有这个js代码 function sendJSon(){ var user = {"user_name" : $("#my_input_field").val()}; $.ajax({ url: 'http://localhost:9000/myAction', type: 'POST', data: JSON.stringify(user), success: function(result) {

我有这个js代码

function sendJSon(){
    var user = {"user_name" : $("#my_input_field").val()};

    $.ajax({
        url: 'http://localhost:9000/myAction',
        type: 'POST',
        data: JSON.stringify(user),
        success: function(result) {
            $("#my_res_div").html(result);
        },
        error: function(){
            alert("error");
        }
    });
}
当传递到应用程序时,它可以完美地工作,然后按照预期的方式继续成功。
但我在多次尝试后达到了这个目标,因为在开始(浏览这个网站)时,我找到了建议为json请求指定内容类型(application/json或text/javascript)和数据类型(json)的答案

我想知道为什么我无法加载
XMLHttpRequesthttp://localhost:9000/myAction. 如果指定内容或数据类型,则HTTP状态代码404无效。
这是路由文件中的路由行

POST    /myAction                           Application.jsonRequest

您引用的错误基本上意味着对POST请求的响应是404状态,这不是POST请求的预期值(您正在发送内容,服务器说找不到该内容是不合逻辑的)

通常不需要为
$.ajax
指定
数据类型
字段,因为它会尝试自己找出答案。但是,此字段不应该引起问题,因为它是关于解析响应数据的,这只发生在收到响应之后,错误代码首先指示错误响应(意味着它永远不会进行解析)


$的
contentType
字段。ajax
对于请求更为重要。它是一个由两部分组成的字符串,指定要发送的内容类型和用于编码内容的字符集。因此,将其设置为您命名的任一值的问题在于缺少字符编码。另一个问题是,您在指定数据类型的同时,没有以该格式提供数据。您正在显式地字符串化您的内容,这意味着它将不是JSON数据。

谢谢您,先生。你教了我一些有趣的东西,还指出了我的一个重大错误/误解。