복붙노트

[JQUERY] 왜 나는 옵션을 GET 요청 대신 요구는 무엇입니까?

JQUERY

왜 나는 옵션을 GET 요청 대신 요구는 무엇입니까?

해결법


  1. 1.MDN에 따르면,

    MDN에 따르면,


  2. 2.옵션은 대한 http://www.w3.org/TR/cors/ 참조 http://metajack.im/2010/01/19/crossdomain-ajax-for-xmpp-http-binding-made-easy/에서입니다 좀 더 많은 정보

    옵션은 대한 http://www.w3.org/TR/cors/ 참조 http://metajack.im/2010/01/19/crossdomain-ajax-for-xmpp-http-binding-made-easy/에서입니다 좀 더 많은 정보


  3. 3.당신은 POST하려는 경우

    당신은 POST하려는 경우

    JSON.stringify에 확인 양식 데이터를 확인하고 텍스트 / 일반으로 보낼 수 있습니다.

    <form id="my-form" onSubmit="return postMyFormData();">
        <input type="text" name="name" placeholder="Your Name" required>
        <input type="email" name="email" placeholder="Your Email" required>
        <input type="submit" value="Submit My Form">
    </form>
    
    function postMyFormData() {
    
        var formData = $('#my-form').serializeArray();
        formData = formData.reduce(function(obj, item) {
            obj[item.name] = item.value;
            return obj;
        }, {});
        formData = JSON.stringify(formData);
    
        $.ajax({
            type: "POST",
            url: "https://website.com/path",
            data: formData,
            success: function() { ... },
            dataType: "text",
            contentType : "text/plain"
        });
    }
    

  4. 4.그런 URL을 부여 할 때 내가 jQuery를 그냥 자연스럽게 JSONP 요청을 할 것입니다 생각하지 않습니다. 당신이 콜백에 사용하는 어떤 주장을 말할 때, 그러나, JSONP 요청을 할 것입니다 :

    그런 URL을 부여 할 때 내가 jQuery를 그냥 자연스럽게 JSONP 요청을 할 것입니다 생각하지 않습니다. 당신이 콜백에 사용하는 어떤 주장을 말할 때, 그러나, JSONP 요청을 할 것입니다 :

    $.get("http://metaward.com/import/http://metaward.com/u/ptarjan?jsoncallback=?", function(data) {
         alert(data);
    });
    

    이 함수가 호출되지 않습니다 때문에이 경우, 전적 ( "jsoncallback"라고 할 필요가 없습니다) 그 인수의 메이크업의 사용에 수신 스크립트입니다. 방금 metaward.com에서 스크립트가 실행하려는 언급 이후하지만, 그것은 그것을 만들 것입니다.


  5. 5.사실, 도메인 간 AJAX는 (XMLHTTP) 요청은 보안상의 이유로 허용되지 않습니다 (클라이언트 측에서 "제한"웹 페이지를 가져 오는하고 다시 서버로 전송 생각 -이 보안 문제가 될 것이다).

    사실, 도메인 간 AJAX는 (XMLHTTP) 요청은 보안상의 이유로 허용되지 않습니다 (클라이언트 측에서 "제한"웹 페이지를 가져 오는하고 다시 서버로 전송 생각 -이 보안 문제가 될 것이다).

    는 유일한 해결 방법 콜백입니다. 이다 : 새로운 스크립트 객체를 생성하고 JSON 값 (하여 myFunction ({데이터})와 콜백이 단부 측 자바 스크립트에 SRC 포인팅 myFunction이 그것을 저장 (예를 들어, 데이터가 무언가를 함수 변수에).


  6. 6.그냥 "텍스트 / 일반"에 "응용 프로그램 / JSON"를 변경하고 JSON.stringify (요청을) 잊지 마세요 :

    그냥 "텍스트 / 일반"에 "응용 프로그램 / JSON"를 변경하고 JSON.stringify (요청을) 잊지 마세요 :

    var request = {Company: sapws.dbName, UserName: username, Password: userpass};
        console.log(request);
        $.ajax({
            type: "POST",
            url: this.wsUrl + "/Login",
            contentType: "text/plain",
            data: JSON.stringify(request),
    
            crossDomain: true,
        });
    

  7. 7.저도 같은 문제가 있었다. 내 수정하는 경우에만 DEV 환경에 존재하는 내 PHP 스크립트에 헤더를 추가하는 것이 었습니다.

    저도 같은 문제가 있었다. 내 수정하는 경우에만 DEV 환경에 존재하는 내 PHP 스크립트에 헤더를 추가하는 것이 었습니다.

    이 크로스 도메인 요청을 할 수 있습니다 :

    header("Access-Control-Allow-Origin: *");
    

    이것은 클라이언트가 원하는 어떤 헤더를 전송하는 것이 OK라고 프리 플라이트 요청을 알려줍니다 :

    header("Access-Control-Allow-Headers: *");
    

    이런 식으로 요청을 수정할 필요가 없습니다.

    당신이 잠재적으로 유출 될 수 dev에 데이터베이스에 민감한 데이터가있는 경우에, 당신은 이것에 대해 두 번 생각할 수 있습니다.


  8. 8.나는 동일한 웹 서버에 jQuery를 POST를 발행 한 이후 내 경우에는, 문제는 CORS는 무관했다. 데이터는 JSON했지만, 나는 데이터 유형을 생략했다 : 'JSON'매개 변수입니다.

    나는 동일한 웹 서버에 jQuery를 POST를 발행 한 이후 내 경우에는, 문제는 CORS는 무관했다. 데이터는 JSON했지만, 나는 데이터 유형을 생략했다 : 'JSON'매개 변수입니다.

    위의 데이비드 로페스 '대답 같이 contentType이 매개 변수를 나는하지 않았다 (도 내가 추가 않았다).


  9. 9.그것은 (물론 맥에서 테스트) 파이어 폭스와 오페라처럼 보이는이의 십자가 domainness 좋아하지 않는 것 (그러나 Safari는 그것으로 괜찮습니다).

    그것은 (물론 맥에서 테스트) 파이어 폭스와 오페라처럼 보이는이의 십자가 domainness 좋아하지 않는 것 (그러나 Safari는 그것으로 괜찮습니다).

    당신은 원격 페이지를 곱슬 곱슬하는 로컬 서버 측 코드를 호출 할 수도 있습니다.


  10. 10.나는 다음과 같은 헤더의 도움으로 문제를 해결할 수 있었다

    나는 다음과 같은 헤더의 도움으로 문제를 해결할 수 있었다

    Access-Control-Allow-Origin
    Access-Control-Allow-Headers
    Access-Control-Allow-Credentials
    Access-Control-Allow-Methods
    

    당신이 Nodejs에있는 경우, 여기 당신이 복사 / 붙여 넣기 할 수있는 코드입니다.

    app.use((req, res, next) => {
      res.header('Access-Control-Allow-Origin','*');
      res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
      res.header('Access-Control-Allow-Credentials', true);
      res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH');
      next();
    });
    
  11. from https://stackoverflow.com/questions/1256593/why-am-i-getting-an-options-request-instead-of-a-get-request by cc-by-sa and MIT license