웹 서비스에 문자열을 게시하려고하는데이 오류가 발생합니다 (Google Chrome 확장 프로젝트).
jquery-2.1.1.min.js : 4 POST http : // localhost : 49242 / Service.asmx / test 500 (내부 서버 오류)
내 아약스 코드는 다음과 같습니다.
var data = {};
data.param1 = words[0];
$.ajax({
data: JSON.stringify({ 'data': data.param1 }),
dataType: 'application/json',
url: 'http://localhost:49242/Service.asmx/test',
type: 'POST',
contentType: 'application/json; charset=utf-8',
success: function (result) {
alert(result);
},
failure: function (errMsg) {
alert(errMsg);
}
});
내 서비스 :
[WebMethod]
[System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)]
public string test(string param1) {
return param1;
}
이 문제에 대해 약 3 일 동안 작업 중입니다. 도와주세요 ?
그런데 질문이 있습니다. 나는 json 변수를 ajax로 서비스에 게시하고 있지만 (보시는 것처럼) 서비스는 xml 값을 반환합니다. 문제가 [System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)]
있거나이 코드 블록 해결 문제가 있습니까?
데이터 매개 변수에서 오류가 발생합니다. data
대신 Stringify 객체 { 'data': data.param1 }
:
var data = {};
data.param1 = words[0];
$.ajax({
data: JSON.stringify(data),
dataType: 'application/json',
url: 'http://localhost:49242/Service.asmx/test',
type: 'POST',
contentType: 'application/json; charset=utf-8',
success: function (result) {
alert(result);
},
failure: function (errMsg) {
alert(errMsg);
}
});
문자열 화 된 데이터의 결과는 {"param1":"Words"}
이며 서비스는 param1
매개 변수 를 바인딩 할 수 있어야합니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다