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

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

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

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

JavaScript

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

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

解決済

1回答

969閲覧

ajaxを使ってphpとjavascriptで値を渡したい。

rink

総合スコア80

PHP

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

JavaScript

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

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2020/01/27 14:21

題の通りなのですが、前回kuromojiをローカルで使えなくて質問させていただいたのですが、結局力がなくてわからなくて、それで結果をajaxを使って渡そうと思いました。まず、コードを載せます。

php

1(a.php) 2 3<?php 4if (isset($_POST["result"])) { 5 $result = $_POST["result"]; 6} else { 7 echo " "; 8} ?> 9 10 11<html xmlns="http://www.w3.org/1999/xhtml"> 12<head> 13 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 14 <script type = "text/javascript"> 15 <?php 16 if (isset($_POST["result"])) 17 {?> 18 var result = <?php echo json_encode($result); }?> 19 20 $(function onButtonClick() { 21 $.ajax({ 22 type: 'POST', 23 url: 'C:/Users//Desktop/b.php', 24 dataType:'text', 25 data: { 26 name1 : document.forms.id_form1.id_textBox1.value 27 }, 28 success: function(data) { 29 alert("success"); 30 } 31 }); 32 }); 33 <?php 34 if (isset($_POST["result"])) {?> 35 var target = document.getElementById("says"); 36 target.innerText = result; 37 <?php } ?> 38 39 </script> 40 41</head> 42<body> 43 <form name="form1" id="id_form1" action=""> 44 <input name="textBox1" id="id_textBox1" type="text" value="" /> 45 <input type="button" value="質問する" onclick="onButtonClick();" /> 46 </form> 47 48 <!--div id="output"></div--> 49 <div class="line-bc"> 50 <div class="balloon6"> 51 <div class="chatting"> 52 <div id = "says" class="says"></div> 53 </div> 54 </div> 55 56 </div> 57</div> 58</body> 59</html> 60

php

1<?php 2if (isset($_POST["name1"])) { 3 $tokentoken = $_POST["name1"] 4} else { 5 echo " "; 6} 7 8?> 9 10<script type = "text/javascript"> 11const kuromoji = require('kuromoji') 12var tokentoken = <?php echo json_encode($tokentoken); ?>; 13const builder = kuromoji.builder({ 14 dicPath: 'C:/Users/node_modules/kuromoji/dict/' 15}) 16 17var result = "" 18 19builder.build(function(err, tokenizer) { 20 if(err){throw err} 21 22 const tokens = tokenizer.tokenize(tokentoken) 23 const tokenArr = tokens.map((token)=>{ 24 return token.surface_form 25 }) 26}) 27$(function(){ 28$.ajax({ 29 type: 'POST', 30 url: 'C:/xampp/htdocs/a.php', 31 dataType:'text', 32 data: { 33 result : result 34 }, 35 success: function(data) { 36 alert("success"); 37 } 38})}); 39</script> 40

エラーは,a.phpで 

script

1$(function onButtonClick() {

が例外となってしまいます。まず、書き方が違うのでしょうか?参考書や色々なサイトを参考にさせていただいたのですが、解決方法が分かりません。また、この記述だと値は渡せないのでしょうか?
どなたか、よろしくお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

url: 'C:/Users//Desktop/b.php',

そもそもPHPはサーバー上で実行されます。
このURLブラウザに直接打ってみると分かりますよ。きっとコードがそのままブラウザに表示されます。
PHPプログラムとしては実行されません。

また、AjaxはそもそもJavaScriptからPHPを実行し、レスポンスを得るものです。
出力がすべて実行元に返ってきます。
失礼ですが、今回の2つのコードの実装が意味不明です。

なぜAjaxで出来ると思ったのか、そもそもAjaxって何か、
その辺りからきちんと認識された方が良いでしょう。

投稿2020/01/27 14:37

m.ts10806

総合スコア80850

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

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

rink

2020/01/27 15:00

ご回答ありがとうございます! そうですよね…それができたらいいなという自分の甘えで質問してしまいました。。。 勉強しなおします。ありがとうございました!
m.ts10806

2020/01/27 20:48

解決、は良いのですが、同じような問題を抱えた誰かが見たときに「勉強しなおします」で解決で良いのかどうかは一考いただきたく。 https://teratail.com/help/question-tips#questionTips4-1 私自身の回答の主旨は「そもそもPHP動かないアクセスの仕方だよ」ということです。Ajax以前の問題ですね。
rink

2020/04/17 13:42

すいません…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問