여기 내 문제가 있습니다. Jquery의 $ .ajax를 사용하여 일련의 값을 웹 메서드에 전달합니다. 웹 메서드는 값을 가져 와서 객체를 만든 다음 json으로 다시 호출 페이지로 보냅니다. 응답을 받으면 응답에 액세스 할 수없고 값을 표시 할 수 없습니다.Json 응답에 좌절했습니다.
아무도 내가이 작업을하기 위해해야 할 일을 설명 할 수 있습니까?
JQuery와 스크립트 :
$(document).ready(function() {
$("#create").click(function() {
var name = $('#name').val();
var company = $('#company').val();
var location = $('#location').val();
var phonenumber = $('#phonenumber').val();
var country = $('#country').val();
$.ajax({
type: "POST",
url: "WebService.asmx/MakeEmployee",
data: "{name:'" + name +
"',company:'" + company +
"',location:'" + location +
"',phonenumber:'" + phonenumber +
"',country:'" + country +
"'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
AjaxSucceeded(msg.d);
}
});
});
function AjaxSucceeded(data) {
//var item = jQuery.parseJSON(data) // this doesn't work for me.
$("#response").html(
"<ul><li> " + data.Name +
"</li><li> " + data.Company +
"</li><li> " + data.Address +
"</li><li> " + data.Phone +
"</li><li> " + data.Country +
"</ul> "
);
};
});
웹 방법 :
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string MakeEmployee(string name, string company,
string location, string phoneNumber, string country)
{
Employee e = new Employee(name, company, location, phoneNumber, country);
return new JavaScriptSerializer().Serialize(e);
}
그리고 난 다시 얻고 있다는 응답 :
{"d":"\"Name\":\"bob\",
\"Company\":\"google\",
\"Address\":\"home\",
\"Phone\":\"123\",
\"Country\":\"usa\"}"}
이 내가해야한다고 생각 것입니다 돌아올 것 :
{"Name":"bob",
"Company":"google",
"Address":"home",
"Phone":"123",
"Country":"usa"}
내가 페이지를 한 번 얻는 오류가 다시 이것이다 렌더 :
•undefined
•undefined
•undefined
•undefined
•undefined
내가 당신이 여기 일을하는지 확실히 길을하지했지만, 나는'JavaScriptSerializer'의 사용 치우는 시도 할 것입니다. 그냥'Employee' 클래스를 반환하면 프레임 워크가 Json으로 변환해야합니다. – CodingGorilla
당신이 돈에있어. JavaScriptSerializer() 부분은 json 응답으로 펑키 한 작업을 수행하고있었습니다. 힌트를 가져 주셔서 감사합니다! – Chris