Javascript 为什么不显示json响应。?

Javascript 为什么不显示json响应。?,javascript,jquery,Javascript,Jquery,我在使用ajax时得到了一个未定义的值 我在这把小提琴里这样叫 我使用post方法,因为我只使用此urlstrong文本 http://validate.jsontest.com/不包含任何值,除了{“error”:“必须通过?JSON=参数传递JSON才能验证。”} 如果将data[“empty”]更改为data[“error”]您将获得值,您必须通过?JSON=参数传递JSON以进行验证。。您的ajax请求正在检索页面中的值。找出您传递的url是错误的: 正确的url:http://val

我在使用ajax时得到了一个未定义的值 我在这把小提琴里这样叫

我使用post方法,因为我只使用此urlstrong文本


http://validate.jsontest.com/
不包含任何值,除了
{“error”:“必须通过?JSON=参数传递JSON才能验证。”}


如果将
data[“empty”]
更改为
data[“error”]
您将获得值
,您必须通过?JSON=参数传递JSON以进行验证。
。您的
ajax
请求正在检索页面中的值。

找出您传递的url是错误的:

正确的url:
http://validate.jsontest.com/?json={%22键%22:%22值%22}


更新

我厌倦了你的链接,json数据被正确呈现

您可能错过了数据类型:“json”,这就是为什么会出现“undefined”

你的代码应该是这样的

var formData={“key”:“value”}//排列

$.ajax({ url:“”

警报(jqXHR+“jqXHR”)


}))

实际上,此API需要url?json=您的json格式的数据

因此,解决方案可以是:

var formData = {"key":"value"}; //Array 

$.ajax({
    url : "http://validate.jsontest.com/",
    type: "POST",
    data : "json="+formData,
    success: function(data, textStatus, jqXHR)
    {


       alert(data["empty"]+"data");
    },
    error: function (jqXHR, textStatus, errorThrown)
    {
   alert(jqXHR+"jqXHR");
    }
});

拒绝POST请求,除非
内容类型
设置为
应用程序/x-www-form-urlencoded

我在angular2中遇到了同样的问题

在我的服务中,我有代码

   postJSON(){
        var json = JSON.stringify({var1:'test',var2:3});
        var params = 'json=' + json;

        var header =  new Headers();
        header.append('Content-Type','application/x-www-form-urlencoded');

        return this._http.post('http://validate.jsontest.com', params, { headers: header }).map(res=>res.json());
    }
我的代码的问题是我忘了导入标题

   import {Headers} from 'angular2/http';

希望这对其他人有所帮助。

数据属性必须是带有键/值对()的字符串

因此,请尝试使用:

var formData = 'json={key:value}';

尝试将数据类型作为数据类型“json”添加到$.ajax请求中。我检查将数据类型设置为“json”不会影响。请看我的答案。您的ajax调用数据传递格式有错误。url?json=formdata格式正确。我检查了将数据类型设置为“json”不会影响结果:)
   postJSON(){
        var json = JSON.stringify({var1:'test',var2:3});
        var params = 'json=' + json;

        var header =  new Headers();
        header.append('Content-Type','application/x-www-form-urlencoded');

        return this._http.post('http://validate.jsontest.com', params, { headers: header }).map(res=>res.json());
    }
   import {Headers} from 'angular2/http';
var formData = 'json={key:value}';