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

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

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

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

JavaScript

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

jQuery

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

Q&A

解決済

1回答

319閲覧

Codeigniter3でポストデータ送信時にURLの構成がおかしくなる

asus2

総合スコア22

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

JavaScript

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

jQuery

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

0グッド

1クリップ

投稿2018/06/25 06:18

編集2018/06/25 06:58

HOGEHOGEプログラム内のコントローラーPiyoのビューPiyo.indexで入力されたデータをjQueryで取得、
コントローラーPiyoの関数[PiyoPOST]で再び受け取りたいのですが、
下記のソースでデータを送信すると

javascript

1PiyoClass.prototype._id = 'Piyo'; 2 3PiyoClass.prototype.Login = function () { 4 var $form = '#Hoge'; 5 var params = $form.serialize(); 6 var url = this._id + '/PiyoPOST'; 7 $.post( url, params ); 8} 9 10var Piyo = new PiyoClass();

URLがなぜか「http://~/HOGEHOGE/Piyo/Piyo/PiyoPOST」と変換されてしまいます。

HOGEHOGE/~に続くindex.htmlは下記を参考に削除しています。
https://qiita.com/Ta-tun/items/5d9b7a8f30da4a2c2440

Codeigniterは3系を使用しています。
原因がまったくわからず、ご助力いただけないでしょうか。

追記:
デベロッパーツールで確認したところ、
Refererは意図通り「http://~/HOGEHOGE/Piyo/PiyoPOST/ポストデータ~」となっていました。
Request URLは「http://~/HOGEHOGE/Piyo/Piyo/PiyoPOST」です。

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

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

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

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

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

Yasha_Wedyue

2018/06/25 06:42

var urlに代入しているPiyoはどこで宣言されていますか?Piyoに代入している部分も含めて提示してください
asus2

2018/06/25 06:46

申し訳ありません、ソース中省略していた部分を追記しました。
guest

回答1

0

ベストアンサー

これはブラウザの挙動が原因で、Piyo/PiyoPOSTにアクセスしようとすると、現在のURLからの相対パスとみなされて、現在/Piyoにいるのであれば/Piyo/Piyo/PiyoPOSTへのアクセスと解釈されます。

先頭にスラッシュを入れた絶対パスで参照しましょう。

投稿2018/06/25 07:16

maisumakun

総合スコア145121

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

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

asus2

2018/06/25 07:25

var url = '/HOGEHOGE/' + this._id + '/PiyoPOST';としたところ、うまくいきました! ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問