###実現したいこと
下記のソースコードのような、普通のAJAX処理があります。
意図している動作としては、PHP側でin_array( $data, $arr )
の場合に処理を終了させ、jQuery側の.done
を実行しないことです。
言い換えれば、$arr
に$data
が含まれているときは、$( '#result' ).html( data );
を実行したくないということです。
しかし、それができません。
###該当のソースコード
jquery
1var url = 'http://...'; 2var data = '1'; 3 4$.ajax({ 5 url : url, 6 type: 'POST', 7 data: data 8}) 9 10.done(function( data ) { 11 $( '#result' ).html( data ); 12}) 13 14.fail(function( jqXHR, textStatus, errorThrown ) { 15 console.log( jqXHR, textStatus, errorThrown, arguments ); 16});
php
1function ajax() { 2 3 $data = $_POST['data']; 4 $arr = array ('1', '2' ); 5 6 // 終了(この場合 jQuery で .done を実行したくない) 7 if ( in_array( $data, $arr ) { 8 die( 'error' ); 9 } 10 11 // 成功 12 echo 'success'; 13 14}
そのためにPHP側ではin_array( $data, $arr )
の場合にdie
させているのですが、このような書き方では冒頭の実現したいことはできないのでしょうか?
どのように書けばin_array( $data, $arr )
の場合に処理を終了させ、jQuery側の.done
を実行しないで済みますか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/03 12:27
2019/03/03 12:29
2019/03/03 12:35 編集
2019/03/03 12:45
2019/03/04 01:18 編集
2019/03/04 11:27