2012-07-23 3 views
0

내가jQuery를 크로스 도메인 POST PHP는 작동하지 슬림 프레임 워크

{"username":"myusername","password":"mypassword"} 

I의 형식으로 만 양식 데이터로 JSON으로 POST를 사용하여 인증 할 수있는 API로 인증하기 위해 노력하고있어 jQuery로이 작업을 수행하는 데 3 일 동안 노력했지만 교차 도메인이기 때문에 문제가 발생했습니다. 이것을 어떻게 할 수 있습니까?

오류 메시지 :

"NetworkError: 405 Method Not Allowed 

내 코드 :

var username = "myusername"; 
var password = "mypass" 
var authurl = "https://myurl"; 

$.ajax 
({ 
    type: "POST", 
    url: authurl, 
    dataType: 'json', 
    contentType: "application/json", 
    async: false, 
    data: {'json':'{"username":"' + username + '", "password":"' + password + '"}'}, 
    success: function (result) { 
     $('#json').html(result); 
    } 
}) 

답변

1

나는 같은 문제를했지만, 나는 그것이 나를 위해 일한 dataType:jsonp를 사용합니다. 여기 인해 동일한 원본 정책에 다른 도메인에 비동기 POST 요청을 할 일반적으로 수 없습니다 자세한 내용

$.ajax 
({ 
    type: "POST", 
    url: authurl, 
    dataType: 'jsonp', 
    context: document.body, 
    async: false, 
    data: {'json':'{"username":"' + username + '", "password":"' + password + '"}'}, 
    success: function (result) { 
     $('#json').html(result); 
    } 
}) 
+0

나를 위해 작동하지 않습니다 – sree

+0

'context : document.body '을 추가하고'contentType : "application/json",' – Dips

0

에 대한 jQuery Docs입니다.

JSONP는 <script> 태그를 DOM에 삽입 할 수 있기 때문에 작동하며 XMLHttpRequest (ajax)를 사용하지 않고 어디에서나 사용할 수 있기 때문에 작동합니다.

사용하려는 API가 JSONP를 지원한다면 옵션 일 수 있습니다. 그렇지 않으면 PHP를 사용하여 데이터를 Curl과 같이 게시 한 다음 Ajax를 사용하여 해당 PHP 스크립트를 호출해야 할 수 있습니다 귀하의 서버 등

관련 문제