2010-05-24 3 views
2

안녕하세요 얘들 아, 이건 정말 바보 같은데, 잘하면 누군가가 도울 수 있습니다. 아약스를 사용하여 외부 스크립트에 게시하려고하므로 데이터를 우편으로 보낼 수 있지만 어떤 이유로 인해 데이터가 스크립트에 전달되지 않습니다.아약스 게시물 asp에서

$(document).ready(function() { 
$("#submitContactForm").click(function() { 
    $('#loading').append('<img src="http://www.xxxxxxxx.com/demo/copyshop/images/loading.gif" alt="Currently Loading" id="loadingComment" />'); 
     var name = $('#name').val(); 
     var email = $('#email').val(); 
     var comment = $('#comment').val(); 
     var dataString = 'name='+ name + '&email=' + email + '&comment=' + comment; 

     $.ajax({ 
      url: 'http://www.xxxxx.com/demo/copyshop/php/sendmail.php', 
      type: 'POST', 
      data: '?name=Dave&[email protected]&comment=hiiii', 
      success: function(result) { 
       $('#loading').append('success'); 
       } 
      });  

    return false; 
}); 
}); 

PHP 스크립트는 (지금은 - 그냥 일을 확인하고 싶었) 간단 JQuery와가 (언어 내가 익숙하지 않다) .aspx 페이지에 포함

<?php 
$name = $_POST['name']; 
$email = $_POST['email']; 
$comment = $_POST['comment']; 

$to = '[email protected]'; 
$subject = 'New Contact Inquiry'; 
$message = $comment; 

mail($to, $subject, $message); 
?> 

을 하지만 PHP 스크립트에 게시됩니다. 이메일을 제대로 수신하고 있지만 내부에 데이터가 없습니다. 내가 놓친 게 있니? 나는이 예에서 변수를 무시하려고하지만 여전히 당신은 다른 도메인에 요청을 보낼 AJAX를 사용할 수 없습니다

감사

+0

피들러 또는 httpfox로 전송되는 트래픽을 스니핑하면 데이터가 나타 납니까? 그리고 '?' 데이터 필드에 - 그것이 없어야합니다. –

+0

또한 두 스크립트가 동일한 도메인에서 실행되고 있는지 여부를 확인할 수 있습니까? 일부는 분명히 다른 도메인을 의미하는 것처럼 도메인 이름에서 x의 다른 수를 해석했습니다. –

+0

처리 스크립트가 jquery 코드 –

답변

1

브라우저와 대상 모두 CORS을 지원하지 않는 한 Ajax를 사용하여 스크립트가 실행중인 문서로 same origin에없는 사이트와 대화 할 수 없습니다. JSONP을 사용하면 약간 문제를 해결할 수 있지만 실제로 CORS는 이러한 점에서 미래입니다.

+0

이 문제를 해결하기위한 가장 좋은 방법이 있습니까? –

+0

누가 다른 도메인에 대해 언급 했습니까? –

+0

처리 스크립트가 다른 도메인에 있습니다. –

0

작동하지 않습니다.

+0

이 경우가 두려웠습니다. 다른 방법이 있습니까? –

+0

요청을 다른 도메인으로 전달하는 프록시 스크립트를 도메인에서 만들 수 있습니다. – SLaks

+0

옵션 슬랙에 대해 더 자세히 말해 줄 수 있습니까? –

0

'?' 귀하의 데이터에서 문자. 나는 이것이 PHP에서 파싱되는 데이터를 엉망으로 만들고 있다고 생각한다.

게시 할 때 데이터는 encodeURIComponent을 사용하여 인코딩해야하며 ?%3F으로 인코딩됩니다.