いろいろとサイトを廻ってみたのですが、いまひとつ上手くいかなくて質問させていただきます。
同一ドメインのフォームのページ
https://example.com/a.php
から別ページ
https://example.com/b.php
にデータを転送したいと考えています。
a.phpは次の通りです。
javascript
1<?php 2if (empty($_SERVER['HTTPS'])) { 3 header("Location: https://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"); 4 exit; 5} 6?> 7<?php 8 header('Access-Control-Allow-Origin: *'); 9 header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept'); 10?> 11 12<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 13<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> 14<head> 15<title>てすと</title> 16<meta charset="utf-8"> 17 18<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> 19 20<script type='text/javascript'> 21 22$(document).ready(function(){ 23 24 $("#submit_bt").click(function(event){ 25 event.preventDefault(); 26 $("#ajax_result").empty(); 27 28 form_input(); 29 }); 30}); 31 32function form_input(){ 33 var word_val0=$("#word_id0").val(); 34 var word_val1=$("#word_id1").val(); 35 36 $.ajax({ 37 type: 'POST', 38 url: 'b.php', 39 data:{ 40 word0:word_val0, 41 word1:word_val1 42 }, 43 dataType: 'html', 44 }) 45 .done(function(data, status, jqXHR){ 46 $("#ajax_result").html(data); 47 $button.attr('disabled', false); 48 }) 49 .fail(function(jqXHR, status, error){ 50 $("#ajax_result").html("エラーです"); 51 }) 52 .always(function(jqXHR, status){ 53 $("#ajax_result").html(status); 54 }); 55} 56 57</script> 58</head> 59<body> 60 61<div align="center"> 62 <h2>てすと</h2> 63 <form name="form0" id="form0" method="post"> 64 word0<br /> 65 <input class="form-text" type="text" value="" name="word0" id="word_id0" accept-charset='utf-8' /><br /> 66 word1<br /> 67 <input class="form-text" type="text" value="" name="word1" id="word_id1" accept-charset='utf-8' /><br /> 68 <input class="form-submit" type="submit" value="送信" id="submit_bt" onclick="document.charset='utf-8';" /> 69 </form> 70 </div> 71 72<div id="ajax_result"></div> 73 74</body> 75</html>
b.phpはデータの受け手の箇所を抜粋して掲載します。
javascript
1<?php 2if (empty($_SERVER['HTTPS'])) { 3 header("Location: https://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"); 4 exit; 5} 6?> 7<?php 8 header("Content-type:application/json; charset=utf8"); 9 header('Access-Control-Allow-Origin: *'); 10 header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept'); 11?> 12 13<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 14<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> 15<head> 16 <meta charset="utf-8"> 17 18 <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> 19 20 <title>受け手側</title> 21 22</head> 23<body> 24 25 <?php 26 $w0 = $_POST['word0']; 27 $w1 = $_POST['word1']; 28 29 $w0 = htmlspecialchars($w0, ENT_QUOTES, 'utf-8'); 30 $w1 = htmlspecialchars($w1, ENT_QUOTES, 'utf-8');
http同士の処理であればなんとかできたのですが、
httpsにおけるクロスドメイン対応となると
様々なサイトを参照してみたのですがうまくいきませんでした。
お手数ですがご教授いただけますと幸いです。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー