所以我的javascript看起来像:
try {
var response = $.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: "BudgService.asmx/LoadDetail",
data: "{'building': '63170', 'CurrentYear':'2014'}",
dataType: "json"
});
$.when(response).then(function () {
loadData();
});
} catch (err) {
alert(err);
}
function LoadData() {
alert('here');
}
和网络服务
[ScriptMethod]
public string LoadDetail(string building, string CurrentYear) {
return "[{color:\"red\", value: \"#f00\"}]";
}
但我从未进入loadData函数,并且没有任何内容被填充到响应中。
我错过了什么?
答案 0 :(得分:1)
您的JSON无效。
您的回复:
在JavaScript对象文字语法中,属性名称可以是字符串或标识符,但在JSON中它们必须是字符串。
"[{\"color\":\"red\", \"value\": \"#f00\"}]"
根据您的要求:
在JavaScript中,字符串可能以"
或'
个字符分隔,但在JSON中,它们必须以"
个字符分隔。
data: '{"building": "63170", "CurrentYear":"2014"}',
根据经验,最好构建一个本机数据结构,然后使用JSON库将其序列化为JSON,而不是尝试手工制作JSON。
此外,您无法在GET请求中包含请求正文。你需要使用POST。