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

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

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

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

Q&A

解決済

2回答

339閲覧

Javascriptのload関数に関する質問

toon

総合スコア26

JavaScript

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

0グッド

0クリップ

投稿2017/11/10 08:48

編集2017/11/13 00:47

初歩的なことをお聞きしているという自覚はございますが、
理解が追いついていないためご教授お願い致します。

###前提・実現したいこと
Javascriptのload関数はのデータを入力する第二引数に変数を入れたいのですが、
文字列として認識されてしまいます。
変数として認識させるにはどうすればよろしいでしょうか?

このソースではtestを取得したいのにvalueが取得されてしまいます。

Javascript

1var value = "test"; 2$("#site-reading").load("/home",{value},function(){ 3 });

###追記
load関数で遷移するサーブレット側のソースは下記になります。

Java

1Enumeration<String> aaa = request.getParameterNames(); 2bbb = (String)aaa.nextElement();

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

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

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

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

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

guest

回答2

0

{}の使い方が怪しいね。
ここらでおさらいしておこう!


{}には大きく分けて2つの意味がある

  • 関数やif文、for文等の制御構造としての利用

if (it === true) {}みたいなやつだね

  • オブジェクトの宣言、他の言語でいうMapとか連想配列的な存在だね

{hoge: "piko"}

今回の例だと{value}と変数を括ってるね。
これはESS2015という新しい仕様で使える書き方で変数の名称と値でオブジェクトを宣言する書き方なんだ。
console.logという関数に引数として値を渡すとコンソール画面に結果を出力してくれる。

JavaScript

1var value = "test"; 2 3console.log({value}); 4// {value: "test"} 5 6console.log(value); 7// "test"

ブラウザーでF12キーを押すとコンソール画面が出て来るから、
打ち込んで動作を確認してみよう!


変数として認識させるにはどうすればよろしいでしょうか?

"test"という文字列そのものが欲しいんだよね?
だからvalueを波括弧で包まないでそのまま使えばいいよ。

javaScript

1var value = "test"; 2$("#site-reading").load("/home", value, function(){ 3});

投稿2017/11/10 10:37

miyabi-sun

総合スコア21158

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

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

toon

2017/11/13 00:41

ご回答ありがとうございます。 波括弧で囲まずvalueとするとJavascriptが実行されないのでエラーが発生しているのだと思います。 http://js.studio-kingdom.com/jquery/ajax/load 上記ページにて第二引数のところには文字列かプレーンオブジェクトしか入らないと記載してあるので、 エラーが起こったと考えています。
guest

0

ベストアンサー

valueというキーでtestという値が渡されていませんか?
気になるなら{value:"test"}と明示してもよいかもしれません

投稿2017/11/10 08:54

yambejp

総合スコア114572

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

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

toon

2017/11/13 00:42

ご回答ありがとうございます。 {value:"test"}とするとvalueという文字列を取得してしまいます。
yambejp

2017/11/13 01:31

たんにパラメータ名を拾っているだけのように見えますが・・・ たとえば{aaa:"bbb"}を渡すとaaaを掴んでいませんか?
toon

2017/11/13 02:11

ご察しの通りaaaとなります。 質問分に追記させていただいたのですが、 Javascript側の問題ではなくサーブレットでの取得の仕方が間違えているということでしょうか?
yambejp

2017/11/13 02:22 編集

サーブレットの関数についてはほぼ知識がないのでなんとも言えませんが getParameterNamesという名前を見る限り パラメータ名を拾っているように見えますよね getParameterValues("value")的な拾い方をするのではないでしょうか?
toon

2017/11/13 02:30

調べてみたらそのようでした。 サーブレットの関数の方は別のところで質問させていただきたいと思います。 ご協力ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問