문제

jQuery는와 같은 영숫자 매개 변수를 전달하려고 할 때 오류를 제공하는 것 같습니다.

            $.ajax({
                type: "POST",
                url: "Default.aspx/AjaxTest",
                data: "{eventID:9a5}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(msg) {
                    alert(msg.d);
                },
                error: function(e) {
                    alert("Event could not be added to calendar");
                }
            });

위의 메소드가 호출되면 오류 콜백이 호출됩니다. 그러나 EventID 매개 변수를 순수한 숫자 값으로 변경하면 잘 작동하며 성공 콜백이 호출됩니다. 영숫자 값을 서버 방법에 전달하고 싶으면 작동하지 않는 것 같습니다. 모든 도움이 감사하겠습니다.

아흐메드

도움이 되었습니까?

해결책 2

방금이 문제를 해결하는 방법을 배웠습니다. JSON 오류 메시지가 표시되는 것으로 밝혀졌습니다. "유효하지 않은 JSON 원시". 내 문자열 매개 변수 주위에 추가 단일 따옴표를 추가해야했기 때문에 JSON은 그것이 필사적으로 그것을 할 때 문자열이라는 것을 이해할 것입니다. json이 문자열이라는 것을 이해할 수 있도록 영숫자 데이터 주위에 단일 따옴표를 추가했습니다. 이것이 내 코드가 작동하는 방식입니다.

        $.ajax({
            type: "POST",
            url: "Default.aspx/AjaxTest",
            data: "{eventID:'9a5'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                alert(msg.d);
            },
            error: function(e) {
                alert("Event could not be added to calendar");
            }
        });

어쨌든 감사합니다.

다른 팁

정기적 인 JavaScript 사전처럼 데이터를 전달해서는 안됩니까?

$.ajax({
...
data: {"eventID": "9a5", "SomeNumericField": 25}
...
});

(예 : 데이터 주위에 인용문을 넣지 마십시오. 나는 그것이 그런 문자열이되어서는 안된다고 확신합니다.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top