programing

구문 오류: 잘못된 정규식 플래그 agax, Javascript

lastmoon 2023. 8. 30. 21:57
반응형

구문 오류: 잘못된 정규식 플래그 agax, Javascript

이건 내 컨트롤러야

public ActionResult ReturnMethodTest(int id) 
{
    string name = "John";
    return Json( new {data=name});       
}

아래의 코드를 사용하여 이 컨트롤러에서 데이터를 가져오려고 하는데 받는 중입니다.Syntax error.

제가 무엇을 잘못하고 있는지 말씀해 주시겠습니까?

$.ajax({
        url: @Url.Action("ReturnMethodTest", "HomeController"),
        data: {
            id: 5,
        },
        success: function (data) {
            console.log(data);
        }
    });

@Url.Action따옴표 없이 작업 URL의 문자열만 반환합니다.

해당 URL을 따옴표로 묶어야 합니다.

대체:

url: @Url.Action("ReturnMethodTest", "HomeController"),

포함:

url: '@Url.Action("ReturnMethodTest", "HomeController")',
//   ^                                                 ^

그렇지 않으면 클라이언트로 반환되는 파일에 다음이 포함됩니다.

url: /HomeController/ReturnMethodTest,

그것은 유효한 JS도 아니고 당신이 원하는 것도 아닙니다.대체 결과는 다음과 같습니다.

url: '/HomeController/ReturnMethodTest',

완벽하게 유효한 JavaScript 문자열입니다.

Javascript 정규 표현식 리터럴은 슬래시 사이에 묶인 패턴과 같습니다.

var re = /pattern/flags;

슬래시로 시작하지만 따옴표를 붙이지 않는 변수를 보간하면 문자열이 아닌 정규식으로 해석됩니다.JSP 표현 언어를 사용할 때도 있는데, 여기서 두 번째가 아니라 첫 번째를 작성해야 합니다.

var spinner = "<img src='${contextPath}/images/ajax-loader-small.gif'>"
var spinner = "<img src='" + ${contextPath} + "/images/ajax-loader-small.gif'>"

다음을 제거하십시오.Controller지정할 때 접미사url.

다음과 같은 방법으로 시도해 보십시오.

url: '@Url.Action("ReturnMethodTest", "Home")'

언급URL : https://stackoverflow.com/questions/31377095/syntaxerror-invalid-regular-expression-flag-ajax-javascript

반응형