Javascript 为什么不显示json响应。?
我在使用ajax时得到了一个未定义的值 我在这把小提琴里这样叫 我使用post方法,因为我只使用此urlstrong文本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
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}';