【发布时间】:2019-05-20 02:49:06
【问题描述】:
我有一个 ajax 脚本调用 web 方法,就像我以前一样,但现在无法得到响应。我得到了解析错误。请帮忙。
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void UzmiTaskove(int idprojekta)
{
List<Taskovi> listataskova = new List<Taskovi>();
string CS = Properties.Settings.Default.Konekcija.ToString();
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd4 = new SqlCommand("UzmiTaskove", con);
cmd4.CommandType = CommandType.StoredProcedure;
con.Open();
cmd4.Parameters.AddWithValue("@IdProj", idprojekta);
SqlDataReader rdr = cmd4.ExecuteReader();
while (rdr.Read())
{
Taskovi tas = new Taskovi();
tas.ID = Convert.ToInt32(rdr["ID"]);
tas.IdProjekta = Convert.ToInt32(rdr["IdProjekta"]);
tas.Opis = rdr["Opis"].ToString();
tas.DatumPocetka = rdr["DatumPocetka"].ToString();
tas.DatumZavrsetka = rdr["DatumZavrsetka"].ToString();
tas.Status = rdr["Status"].ToString();
listataskova.Add(tas);
}
}
JavaScriptSerializer jm = new JavaScriptSerializer();
Context.Response.Write(jm.Serialize(listataskova));
}
$.ajax({
url: 'TaskoviServis.asmx/UzmiTaskove',
type: 'POST',
data:JSON.stringify({ idprojekta:idprojekta}),
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function (respons) {
alert(respons.d);
var newHtml = "";
$(poda).each(function (index, tas) {
newHtml += '<li class="task">';
newHtml += '<div class="task-container">';
newHtml += '<span class="task-action-btn task-check">';
newHtml += '<span class="action-circle large complete-btn" title="Mark Complete">';
newHtml += '<i class="material-icons">check</i>';
newHtml += '</span>';
newHtml += '</span>';
newHtml += '<span class="task-label" contenteditable="true">' + tas.Opis + '</span>';
newHtml += '<span class="task-action-btn task-btn-right">';
newHtml += '<span class="action-circle large" title="Assign">';
newHtml += '<i class="material-icons">person_add</i>';
newHtml += '</span>';
newHtml += '<span class="action-circle large delete-btn" title="Delete Task">';
newHtml += '<i class="material-icons">delete</i>';
newHtml += '</span>';
newHtml += '</span>';
newHtml += '</div>';
newHtml += '</li>';
});
$("#task-list").append(newHtml);
},
error: function (xhr, textStatus, error) {
console.log(xhr.statusText);
console.log(textStatus);
console.log(error);
}
});
我什么都试过了……改变数据类型……等等……
【问题讨论】:
-
问:您是否在 Chrome 开发者工具中查看过您的 Ajax 请求? JSON 看起来没问题吗?另外:请将确切的错误消息复制/粘贴到您的问题中。
-
感谢您的快速回答这是来自 chrome 调试器中的 AJAX 调用的答案 OK Taskovi.js:84 parsererror Taskovi.js:85 SyntaxError: Unexpected token { in JSON at position 264 at parse (
) 在 Qb (jquery-3.2.1.min.js:1) 在 A (jquery-3.2.1.min.js:1) 在 XMLHttpRequest. (jquery-3.2.1.min.js:1)