2010-11-25 2 views
0

ASIFormDataRequest를 사용하여 일부 값을 보내려고합니다. 문제는 비록 PHP 스크립트가 실행 되어도 포스트 데이터가 수신되지 않는다는 것입니다. 여기 ASIFormDataRequest가 게시 값을 보내지 않습니다.

내가 할 것입니다 :

서버가 나는 다음의 PHP 테스트 스크립트를 수신 내용을 확인하기 위해
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
[request setPostValue:@"Ben" forKey:@"first_name"]; 
[request setPostValue:@"Copsey" forKey:@"last_name"]; 
[request startSynchronous]; 

:

$handle = fopen("output.txt", "w"); 
fwrite($handle, count($_POST)."\n"); 
fwrite($handle, count($_GET)."\n"); 
fwrite($handle, count($_FILES)."\n"); 
foreach ($_POST as $key => $value) 
{ 
fwrite($handle, "POST $key=$value\n"); 
} 
foreach ($_GET as $key => $value) 
{ 
fwrite($handle, "GET $key=$value\n"); 
} 
fclose($handle); 

같은 스크립트는 다음 HTML 조각에서 작동합니다

<FORM action="http://......." 
     enctype="multipart/form-data" 
     method="post"> 
    <P> 
    What is your name? <INPUT type="text" name="submit-name"><BR> 
    <INPUT type="submit" value="Send"> <INPUT type="reset"> 
</FORM> 

html 조각이 PHP 스크립트와 작동하기 때문에 나는 PHP와 서비스를 의심합니다. r은 문제가 아닙니다.

하지만 내 iPhone에서 ASIFormDataRequest가 호출되지 않는 이유는 무엇입니까?

누군가 나를 도와주세요.

감사합니다, 샤샤

+0

더 많은 테스트를 한 결과, 서버 구성임을 알게되었습니다. 문제의 원인을 찾지 못했지만 다른 서버에서 작동합니다. 나는 또한 결함있는 서버에서 content-type 헤더가 누락되어 요청 메소드가 항상 GET (POST가 아닌 방법)인지 확인했다. 두 서버 모두 Windows XP에서 xampp을 실행합니다. 결함이있는 사람은 PHP 5.3.1을 가지고 있습니다. 5.2.5. – Sascha

+0

자, 문제는 서버 구성에서 비롯된 것입니다. 너무 좋지 않아, 나는 윈도우에서 XAMPP에 매달려있다. 변화는 그렇게 쉽지 않습니다. – Sascha

답변

6

는 드디어 이유를 찾기 위해 관리 : 서버가 www.site.com에 site.com에서 리디렉션 때문에 그 후 값을 상실했다. 이 리디렉션이 없으면 모든 것이 잘 작동합니다. 희망이 도움이됩니다.

+0

좋아요! 게시 해 주셔서 감사합니다. – Sascha

+0

아 예! 마지막으로 내 요청이 작동하지 않는 이유. 내 www 리디렉션을 생각하지 않았습니다! 너 나 한테 더 많은 시간을 구했어, 고마워! –

+0

http에서 https로 리디렉션하고 http에 게시물 요청을 보냈습니다. 이것으로 설명합니다! – Swindler

관련 문제