Ajax에서 ASP.NET 처리기에 액세스하려고합니다. 앵커 태그를 사용하여 데이터를 전달하고 일부 테스트 문자열을 반환합니다.JavaScript 런타임 오류 : 유효하지 않은 문자
아약스 코드 컨트롤이 context.Response.Write()
문을 떠날 때까지
function incvote(topicid) {
$.ajax({
type: "POST",
url: "WCAccess.ashx",
data: JSON.stringify({ "desid": "topicid" }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
return response.d;
},
error: function (xhr, ajaxOptions, thrownError) {
alertify.error("Some error occured. Please try again.");
},
//async: true
});
처리기 코드
public class WCAccess : IHttpHandler {
public void ProcessRequest (HttpContext context) {
JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
string jsonString = string.Empty;
List<ArgsVals> argsList = new List<ArgsVals>();
context.Request.InputStream.Position = 0;
using (var inputStream = new System.IO.StreamReader(context.Request.InputStream))
{
jsonString = inputStream.ReadToEnd();
}
argsList = jsonSerializer.Deserialize<List<ArgsVals>>(jsonString);
string resp = "";
foreach (ArgsVals arg in argsList)
{
resp += arg.desid;
}
context.Response.Write("<text>"+resp+"</text>");
}
public bool IsReusable {
get {
return false;
}
}
public class ArgsVals
{
public string desid { get; set; }
//public int vtype { get; set; }
}
}
모든 것이 잘 작동 : 다음은 코드입니다. 데이터 resp
이 데이터를 멋지게 전달합니다. 하지만 문제는 자바 스크립트가이 오류를 표시하고 있다는 것입니다 : JavaScript runtime error: Invalid character
.
나는 다른 사람의 웹 사이트를 검색했다. 그리고 나는 또한이 해결책을 시도했다 : Ajax request has invalid characters 그러나 아무것도 작동하는 것처럼 보입니다. 같은 오류가 계속 발생합니다.
데이터 : JSON.stringify ({desid : topicid}), – Triode
이미 인용되거나 인용되지 않은 모든 변형을 이미 시도했습니다. 아무것도 효과가 없습니다. –
alertify.error() 이것은 무엇을합니까? – Triode