我在使用ajax时获得了未定义的值。我正在使用http://validate.jsontest.com/?json={%22key%22:%22value%22} 我在这个小提琴里这样称呼。
我使用post方法,因为我只使用此网址http://validate.jsontest.com/ 强文 http://jsfiddle.net/3TUvr/
var formData = {"key":"value"}; //Array
$.ajax({
url : "http://validate.jsontest.com/",
type: "POST",
data : formData,
success: function(data, textStatus, jqXHR)
{
alert(data["empty"]+"data");
},
error: function (jqXHR, textStatus, errorThrown)
{
alert(jqXHR+"jqXHR");
}
});
答案 0 :(得分:2)
我在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';
希望这会对某人有所帮助。
答案 1 :(得分:0)
http://validate.jsontest.com/
不包含{"error": "You must pass JSON via the ?json= parameter to validate."}
以外的任何值。
如果您将data["empty"]
更改为data["error"]
,则会获得值You must pass JSON via the ?json= parameter to validate.
。您的ajax
请求正在检索页面中的值。
答案 2 :(得分:0)
答案 3 :(得分:0)
我累了你的链接,json数据正确呈现,
你可能错过了dataType:'json'这就是为什么你得到'undefined'
您的代码应该是这样的,
var formData = {“key”:“value”}; //数组
$。AJAX({ url:“http://validate.jsontest.com/”,
type: "POST",
data : formData,
dataType : 'json',
success: function(data, textStatus, jqXHR)
{
alert(data["empty"]+"data");
},
error: function (jqXHR, textStatus, errorThrown)
{
警报(jqXHR + “jqXHR”);
}
});
答案 4 :(得分:0)
实际上这个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");
}
});
答案 5 :(得分:0)
http://validate.jsontest.com拒绝POST请求,除非Content-Type
设置为application/x-www-form-urlencoded
。
答案 6 :(得分:0)