第三者のHP(以下、Aページ)に入力フォームを設置してもらい、送信ボタンを押すと、
その入力値に応じて、当方で管理するサーバでのプログラム(以下、Bプログラム)で
テキストとして出力し、(Aページ自体は再読み込みせずに)フォームの一部に表示させる
というものです。
ページのリロードをさせないという用件を満たすにはAjaxしかないと考えています。
テキスト取得が無理なら、Bプログラムで生成する画像(Aページでの入力値に応じて動的に生成したもの)
の取得なら可能でしょうか。
それらが可能であれば、参考となるオススメの書籍も教えていただきたいです。
作りとしては可能です。というか全く普通のAjaxの使い方です。
AjaxはリロードせずにURLを取得する(サーバへのリクエストと解釈してください)以外は、ブラウザでURLを入力することと変わりありません。
従って、Bプログラムは、相手がAjaxかどうかは気にせずに普通にブラウザでURLを入力するとテキストまたは画像を出力するようなものを用意するだけです。
Aページの方の入力フォームは、Ajaxを使ってBプログラムのサービスURLにアクセスし、その結果を表示するだけです。
書籍の方は(私自身あまり読まないので)いいものを紹介できません。すみません。
ただ普通にAjax用の解説書で十分な使い方ですので、Ajaxの使い方がわかるような普通の入門用の解説書で問題ないと思います。
作りとしては可能です。というか全く普通のAjaxの使い方です。
AjaxはリロードせずにURLを取得する(サーバへのリクエストと解釈してください)以外は、ブラウザでURLを入力することと変わりありません。
従って、Bプログラムは、相手がAjaxかどうかは気にせずに普通にブラウザでURLを入力するとテキストまたは画像を出力するようなものを用意するだけです。
Aページの方の入力フォームは、Ajaxを使ってBプログラムのサービスURLにアクセスし、その結果を表示するだけです。
書籍の方は(私自身あまり読まないので)いいものを紹介できません。すみません。
ただ普通にAjax用の解説書で十分な使い方ですので、Ajaxの使い方がわかるような普通の入門用の解説書で問題ないと思います。
なるほど、それがAjaxの醍醐味なんですね。
参考書を早速見に行こうと思います。
ただ気になるのは、Flashのように、セキュリティーの問題で呼び出し側と先のドメインが一致していないとダメなどの問題はないのでしょうか。不安なのはこの点だけです。
すみません。説明が不足していました。
ご指摘の通りセキュリティ上の理由からajaxでもドメインを超えられない制限があります。
ただ、ajaxでもクロスドメインを実現するような方法がいくつかあります。
例えば、Googleが提供しているGoogle AJAX Feed APIを使う方法などが比較的簡単だと思います。
こちらに簡単な解説があります。
【ハウツー】Googleからの新たな贈り物、「Google AJAX Feed API」を試そう | エンタープライズ | マイコミジャーナル
ご質問のケースではサーバ側にも手を入れられますので、JSONPを使った方法もありますが、こちらの方が少し難しいかもしれません。
簡単に説明すると、
(1)Aページからサーバ上のjsファイルを通常のscriptタグでロードする。
(2)サーバ側は、返したいテキストなど必要な情報を埋め込んだjsファイルを動的に生成してAページに返す。
(3)Aページ側で読み込まれたjsファイルが実行される(サーバから返された情報が埋め込まれている)
追加情報ありがとうございます。
なかなかややこしいみたいですが、それでも実現可能なのですね。チャレンジしてみます。
なるほど、それがAjaxの醍醐味なんですね。
参考書を早速見に行こうと思います。
ただ気になるのは、Flashのように、セキュリティーの問題で呼び出し側と先のドメインが一致していないとダメなどの問題はないのでしょうか。不安なのはこの点だけです。