質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

1回答

327閲覧

jsの値をphpに送る

Syouryaku

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

1クリップ

投稿2021/12/24 08:13

前提・実現したいこと

jsの値をphpで使う方法

発生している問題・エラーメッセージ

jsで設定した値をphpのほうでも使用したいのですが、なかなかうまくいきません。
様々なサイトを参考にしてajaxを使い、phpからjsへの値の受け渡しはうまくいったのですが、jsからphpへの値の受け渡しがうまくいきません。どのように改善したらよいでしょうか?よろしくお願いします。

該当のソースコード

-- script.js --
const data = 'Hello World!'; // 渡したいデータ

$.ajax({
type: "POST", // GETでも可
url: "lifejs.php", // 送り先
data: { 'データ': data }, // 渡したいデータをオブジェクトで渡す
dataType: "json", // データ形式を指定
scriptCharset: 'utf-8' // 文字コードを指定
})
.then(
function (param) { // paramに処理後のデータが入って戻ってくる
console.log("受け取った値:" + param); // 帰ってきたら実行する処理
},
function (XMLHttpRequest, textStatus, errorThrown) { // エラーが起きた時はこちらが実行される
console.log(XMLHttpRequest); // エラー内容表示
});

-- lifejs.php --

<?php $param = "4"; echo json_encode($param); ### 試したこと 上記のコードではindex.htmlのコンソールに「受け取った値:4」という風に表示されます。 ### 補足情報(FW/ツールのバージョンなど) localhostで実行しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/12/24 10:06

>jsからphpへの値の受け渡しがうまくいきません。 とは仰いますがPHPのほうにJavaScriptから渡された値を受け取る処理が書かれていません。うまくいかないも何も、何も書いてないからなにもおきてないのでは? あとコードやエラーはマークダウンのcode機能を利用してご提示ください。 https://teratail.com/questions/238564
guest

回答1

0

//script.js

javascript

1const data = 'Hello World!あいうえお'; 2const url= "lifejs.php"; 3const method="POST"; 4const body=new FormData(); 5body.append("data",data); 6fetch(url,{method,body}).then(res=>res.text()).then(param=>console.log("受け取った値:"+param));

//lifejs.php

PHP

1<?PHP 2$param = filter_input(INPUT_POST,"data"); 3echo json_encode($param,JSON_UNESCAPED_UNICODE);

投稿2021/12/24 09:12

yambejp

総合スコア116724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/12/24 09:16

post先のurlって、http(s)からしっかり書かなきゃいけないような気がしますが。
yambejp

2021/12/24 09:23

非同期のファイルアクセスはCORSの問題があるので 同じドメインの同じプロトコルでの運用を想定としてます したがって同じ公開ディレクトリ内であれば相対位置としてファイル名だけで問題ないはずです (ご指摘の意図が違うようでしたらすみません)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問