PHP를 사용하여 URL에 게시해야합니다. 지금은 작동하지만 데이터/게시를 보낸 후에 json 출력 (웹 서비스에서 게시)을 제공하고 출력이 우호적이어야합니다. jQuery와 Ajax를 사용할 수 없습니다. 충돌합니다.URL없이 URL을 사용하여 PHP없이 데이터를 게시하는 방법
이{"Prize":"XXXXXX","ConfirmationCode":"######","Error":false,"ErrorMsg":null}
포스팅이 작품을 좋아 : 그것은 다음과 같은 JSON의 출력 페이지에 나를 소요 제출 클릭 한 후
<form action="http://somewebservice.com/<?php echo $PrizeID;?>" method="post" name="myform">
<input name="account" id="account" type="hidden" value="<?php echo $account;?>"/>
<input name="dob" id="dob" type="hidden" value="<?php echo $dob;?>"/>
<input name="site" id="site" type="hidden" value="<?php echo $site;?>"/>
<input name="submit" type="submit" value="submit"/>
</form>
: 내가 웹 서비스 여기
에 직접 통신해야하는 것이 내 양식이다 왜냐하면 i ckeck 웹 서비스 로그와 제출이 등록되어 있기 때문입니다. 지금해야 할 일은 위의 그림에서 전체 JSON 출력 대신 멋지게 형식화 된 ConfirmationCode
을 표시하는 것입니다. 도움이된다면 크게 감사하겠습니다.
UPDATE 나는이 페이지를 새로 고침하지만 DB를 업데이트하지 않습니다 ... UR의 도움에 따라 일부 변경했다. 웹 서비스 로그를 확인했는데 항목이 기록되지 않았습니다. 여기에 PHP
if(isset($_POST['submit'])){
$options = array(
'http'=>array(
'method'=>"POST",
'contentType'=> "application/x-www-form-urlencoded",
'content'=>http_build_query(array(
'account' => $account,
'dob' => $dob,
'site' => $site
))
));
$context = stream_context_create($options);
$result = file_get_contents("http://somewebservice.com/{$PrizeID}",NULL,$context);
var_dump($result);
}
의
<form name="myform">
<input name="account" id="account" type="hidden" value="<?php echo $account;?>"/>
<input name="dob" id="dob" type="hidden" value="<?php echo $dob;?>"/>
<input name="site" id="site" type="hidden" value="<?php echo $site;?>"/>
<input name="submit" type="submit" value="submit"/>
</form>
: "자원 ID # 4"
여기에 업데이트 된 양식의를 이 오류로 날 (false)를 BOOL 제공하고 $ 컨텍스트를 에코 때, 내가 얻을 업데이트 (AJAX) 웹 서비스에 쓰는 동안 AJAX를 시도했는데 clietn 사이트에서 오류가 발생합니다. 오류가 [개체 개체] 여기 여기 아약스에게
을의 형태
<form name="myform" >
<input name="account" id="account" type="hidden" value="<?php echo $account;?>"/>
<input name="dob" id="dob" type="hidden" value="<?php echo $dob;?>"/>
<input name="site" id="site" type="hidden" value="<?php echo $site;?>"/>
<input id="submit" type="submit" value="submit"/>
<div id="result"></div>
여기 아약스 스크립트의 말한다 : -이 해결 - (컬/W)
<script type="text/javascript">
$("#submit").click(function(e){
e.preventDefault();
var account = $('#account').val();
var dob = $('#dob').val();
var site = $('#site').val();
$.ajax({
type: "POST",
url: "http://somewebservice.com/<?php echo $PrizeID;?>",
data: "{ 'account': '" + account + "','dob': '" + dob + "', 'site': '" + site + "'}",
contentType: "application/json; charset=utf-8",
async: false,
success: function(data) {
//$('#result').text(data.d);
alert(data);
var obj = $.parseJSON(data);
$("#result").html("<p><b>Confirmation Code:</b> " + obj.ConfirmationCode + "</p>");
},
error: function(data) {
alert(data);
$("#result").html("<b>There was an error. Please try again</b><br/>");
}
});
});
</script>
UPDATE IT 작동! !!! 이 작동 - 웹 서비스를 통해 데이터베이스에 게시하고 webservice에서 반환 한 ConfirmationCode를 다시 가져올 수 있습니다. 당신이 curl
없이 POST
요청을 수행하려는 경우 여기
file_get_contents()
및 기타 파일 process.php 파일
<?php
$data = array("account" => "{$account}", "dob" => "{$dob}", "site" => "{$site}");
$data_string = json_encode($data);
$ch = curl_init("http://somewebservice.com/{$PrizeID}");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
$result = curl_exec($ch);
curl_close($ch);
$json_result = json_decode($result, true);
?>
// here's the call for the confirmation number
<p>Your confirmation number is: <strong><?php echo $json_result['ConfirmationCode'];?></strong></p>
PHP로 게시하지 않고 브라우저로 게시하고 있습니다. 초기에 폼을 생성 한 경우를 제외하고 PHP는이 프로세스에 전혀 관여하지 않습니다. –
jQuery가 AJAX와 충돌합니까? 나는 그것을 의심스럽게 생각합니다 ... 왜 그 문제를 먼저 고쳐서 시작하지 않습니까? – Brad
나는 ajax를 시도했다. (업데이트로 위의 코드를 넣었다.) db bcz에 글을 쓰지 만 등록 된 항목으로 webs ervice에서 longs를 볼 수 있지만 클라이언트 사이트에서는 작동하지 않는다. 제출을 클릭하면 다음과 같은 오류 메시지가 나타납니다. [object Object] – Azukah