2012-04-17 14 views
1

私はWordpress用のプラグインを作成していますが、Wordpressに慣れていない場合は問題ありません。私は記入する必要があるフォームがあり、95%の時間でフォームに必要なすべてのフィールドを返すことができる関数を持っています。この関数は一意のIDを必要とし、この関数は一意のIDをURLに入れ、XMLを取得し、XMLを解析していくつかのものを返します。これは、残りのフォームフィールドを自動的に埋めたいものです。フォームからphp関数を呼び出して、結果のフォームを完成

したがって、私の関数に一意のIDを送るためのフォームボタンが必要です。そして、私の関数が残りのフィールドに物を返す方法を理解する必要があります。 ユーザーはフィールドを確認し、必要に応じて追加のデータを手動で追加してから送信します。

1つの複雑さは、xmlが由来するURLが外部であるため、Jqueryによって照会できないということです。正しいかどうか? ご迷惑をおかけして申し訳ございません。

+0

これを解決するには、アクションを空のままにして、それ自体に投稿します。私は関数のビットを整理するためにphp関数呼び出しを追加しました。関数の結果に応じてフォームフィールドの値を変更しました。ワードプレスに統合することは、一見残っている難しいビットです。 – Andrewb

答えて

1

「外部」とは、クロスドメインのAjaxリクエストを意味します。 jQuery.ajax()機能とjsonp設定を参照してください。

+0

私は、あなたがデータを要求しているサーバが 'jsonp'要求を処理するように設定されている場合にのみうまくいくと思います。あるいは、クロスドメインのGETリクエストを行うためのプラグインがあります。例えば、https://github.com/padolsey/jQuery-Plugins/tree/master/cross-domain-ajax/ – billyonecan

+0

私はクロスドメインを意味します。私は現在のPHP functoinをこのメソッドで使用できますか? – Andrewb

+0

@Andrewb私は、サーバーの設定に関するdeifwudのメモについてはわかりません。サイトからデータを取得するには、特定の設定を有効にする必要があります。結局のところ、あなたはただファイルの情報を読んでいるだけです。たぶん、誰かがこの問題を確認するかもしれない。このリンクを確認すると、 'jsonp'に関する警告が表示されます。http://www.ibm.com/developerworks/library/wa-aj-jsonp1/ –

1

AJAXを使用すると、POST/GETすることができます。返品では、フォームで何をすべきかを判断できます。

たとえば、jQueryを使用してデータをJSON形式に変換し、JSON文字列で応答する外部サーバーに送信します。それでもjQuery内でデータを繰り返し処理し、結果に応じて特定のIDなどにエラーをスローします。

1

JSONを使用できる場合は、jQueryを使用できます。

XMLを使用する必要がある場合は、YQL(Yahoo!照会言語)が必要です。ここではそのための記事は以下のとおりです。http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/

あなたは、あなたがcrossdomain.xmlの技術を使用することができますXMLを提供しています場所へのアクセス権を持っている場合:http://code.google.com/p/crossxhr/wiki/CrossXhr

またはあなた自身のいずれかに定期的にAJAXを行うことができますPHPページでは、PHPページがカール(または同様のもの)でXMLを取得し、結果を返します。あなたはクロスドメインリクエストをする必要はありませんが、少し時間がかかります。

関連する問題