人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

jqueyにて、post時にjsonpで指定したcallbackはpostされないのでしょうか?
下記のソースを作成し実行しています。
$.ajax({
type: 'get',
url: 'http://hogehoge/api/',
type: 'post',
dataType: 'jsonp',
jsonp : 'callback',
timeout : 1000,
data: {
'action': 'list'
},
success: function(data, dataType, arg3){
// 正常終了
alert(JSON.stringify(data));
},
error : function(XMLHttpRequest, textStatus, errorThrown){
alert("error");
}
});
サーバサイドは、phpにて作成して、type: 'get',で指定すると、正常に動作することを確認しています。
type: 'post' に変更すると、正常に動作しません。
又、サーバサイドは、html上で、formを使用して method="POST" で実行すると正常であることを確認しています。
ajax使用時の違いは、type: 'post'に指定した時に、http://hogehoge/api/?callback=jQuery11・・・・・・とURL側に、
callbackの名前が設定されてしまっていることになります。
この、?callback=jQuery11…もpostで送信させるようにさせることは出来ない物でしょうか?
ご存知の方いらっしゃいましたら、ご指導いただければ幸いです。

●質問者: kameoyaji_2
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● spacewarp
●34ポイント

http://log.miraoto.com/2012/11/694/
こちらの記事に書かれている感じでいけそうですが


kameoyaji_2さんのコメント
GETでは問題なく動作します。 POST時には、動作しません。 http://hogehoge/api/?callback=callback とリクエストするURLは変わりますが、callback=callback がサーバのpostに入ってきません。 php側で、var_dump($_POST) を実行して、入ってきていないことを確認しています。 (応答された文字列の確認は、ajaxに、complete:function を作成し、クロームでブレークさせて、XMLHttpRequestのresponseTextの内容でvar_dumpの内容を確認しています。

2 ● techmedia-think
●33ポイント

jsonpだとPOSTで通信はできなかったかと。
JSから別ドメインにPOST通信したいのであれば、別ドメインのサーバ側でAccess-Control-Allow-Originの設定をすれば可能だと思います。
http://modegramming.blogspot.jp/2011/02/access-control-allow-origin.html


kameoyaji_2さんのコメント
実際は、別ドメインにアクセスすることはないのですが、callbackの関数名もPOSTで送る仕様のWebAPIなもので、jqueryの機能だけで、POSTでcallback=****を送ることができないかと、方法を探しています. 最終手段としては、jqueryでjsonp形式ではなく、text形式で応答を受けて、jsonpをパースして処理を実施する方法もあるとは考えていますが、なるべくであれば、ごろごり作る=>検証=>他の人への説明 等々の作業を省きたいもので、jqueryの設定だけで、callback=を POSTで送れないかと考えています。 また、jqueryの行っている callback=jQuery1…の動作は、便利なので、この動きまで、ゴリゴリ作りこんで=>検証 も時間がかかるので、出来れば避けて通りたいかと考えています。 ご指導よろしくお願い申し上げます。

3 ● Lhankor_Mhy
●33ポイント
$.ajax({
 url: 'http://localhost:8080/test/',
 type: 'post',
 dataType: 'jsonp',
 jsonp : false,
 timeout : 1000,
 data: {
 'action': 'list',
 'callback':'callback'
 },
 
 ...

このようなコードだとどうなりますか?


kameoyaji_2さんのコメント
callback だけ URLに張り付きます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ