質問編集履歴

2 削除修正

teratail

teratail score 515

2017/04/14 11:45  投稿

JavaとJavaScriptで困ってます!!
申し訳ありませんでした。質問を削除したいので、質問内容消しました。ごめんなさい。
JavaとJavaScriptで本当に困っています!助けてください!!ソースは長いので、OSDNというサイトにコピペしました。https://osdn\.net/users/nannpure/pastebin/4631
今、JavaScriptでJava側にリクエストを投げて、マスタからSQLのSELLECTを行うというのをやっていますが、何故かJava側にリクエストが届く前に処理が落ちます。これはeclipseでJavaにデバックをかけていたので、明らかです。しかし、GETをPOSTに変更しても、JavaのURLをブラウザに表示されたものをコピペして、統一しても結果は変わりませんでした。
接続するに対して、使用しているjqueryは共通のものをしようしているので、まずこれに不具合はないと思われます。引数を渡しているのですが、原因が分かりません。この原因と解決策が分かる方は教えて頂けると幸いです。
       function select_data\(\){
           var work_kbn_input = document\.getElementById\("work_kbn_input"\)
           var workKbn = new Object ;
           workKbn\['workKbn'\] = work_kbn_input\.value ;
           var jsonData = new Object\(\);
           jsonData\['inputData'\] = new Array\(\);
           jsonData\['inputData'\]\.push\(workKbn\);
           \$\.ajax\({
               url:   API_PATH \+ "/action/All" ,
               typr:   'POST' ,
               data: JSON\.stringify\(jsonData, null, ''\),
               contentType: 'application/JSON',
               dataType : 'JSON'
           }\)
           \.done\(success\)
           \.fail\(error\)
           function success\(jsonData\){
               if\( jsonData\.result == true && Object\.keys\(jsonData\)\.length > 0 \){
                   var str = "" ;
                   alert\( jsonData \) ;
                   if\( str == "更新"\){
                       alert\("既に登録されているデータがありました。更新を行いますか?"\) ;
                   } else if\( str == "登録" \){
                       alert\("まだ登録されていないデータでした。更新を行いますか?"\) ;
                   }
               }else{
                   alert\("NO!"\) ;
               }
           }
           function error\(jsonData\){
               alert\("ERRR!"\) ;
           }
       }
また、今表をSELECTした分だけを表に出し、それのセルに編集ボタンを出しているのですが、最後の行の情報だけが取得されます。できれば、一番上のボタンを押したら、一番上の行のデータ、二番目なら二番目のデータを取得したいのですが、方法が分かりません。解決策や初心者にも分かりやすい参考サイト等を教えて頂けると幸いです。
       function data\(json_Array , json_indent , table ,work_kbn_input , work_name_input , button_edit\){
//           button_edit = '<input type="button" class="button_edit" id="button_edit" value="編 集" />' ;
//           button_edit = '<button type="button" class="selectButton" >編 集</button>';
//           var button_edit = document\.createElement\("button"\) ;
//           button_edit\.textContent = "編 集" ;
           var table = document\.getElementById\("work_kbn_table_id"\) ;
           var work_kbn_Array = \[\] ;
           var work_name_Array = \[\] ;
           var button_Array = \[\] ;
           var work_kbn_indent = 0 ;
           var work_name_indent = 0 ;
           var button_indent = 0 ;
           for \(var j = 0 ; j < json_Array\.length ; j\+\+ \){
               // 行を行末に追加
               var row = table\.insertRow\(-1\);
               // セルの挿入
               var cell1 = row\.insertCell\(-1\);
               cell1\.appendChild\(document\.createTextNode\(json_Array\[j\]\.WorkKbn\)\) ;
               cell1\.data= work_kbn_indent ;
               work_kbn_Array\[work_kbn_indent\] = {
                       'cell_work_kbn' : cell1
               }
               work_kbn_indent\+\+ ;
               var cell2 = row\.insertCell\(-1\);
               cell2\.appendChild\(document\.createTextNode\(json_Array\[j\]\.WorkName\)\) ;
               cell2\.data = work_name_indent ;
               work_name_Array\[work_name_indent\] = {
                       'cell_work_name' :cell2
               }
               work_name_indent\+\+ ;
               var cell3 = row\.insertCell\(-1\);
               var button_edit = document\.createElement\("button"\) ;
               button_edit\.textContent = "編 集" ;
               button_edit\.data = button_indent ;
               button_Array\[button_indent\] = {
                       'cell_button' : button_edit
               }
               button_indent\+\+ ;
               for\( var k = 0 ; k < json_Array\.length ; k\+\+ \){
                   button_edit\.onclick = function\(e\){
//                   button_edit\.onclick = function\(e\){
                       edit\(work_kbn_input , work_name_input , cell1 , cell2 , work_kbn_Array , work_name_Array , button_Array , button_edit\) ;
                   }
               }
               cell3\.appendChild\(button_edit \) ;
           }
       }
       function edit\(work_kbn_input , work_name_input ,cell1 , cell2 , work_kbn_Array , work_name_Array , button_Array , button_edit\){
           work_kbn_input\.value = cell1\.innerHTML;
           work_name_input\.value = cell2\.innerHTML ;
       }
  • JavaScript

    38069 questions

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

1 質問内容

kurikara

kurikara score 7

2017/04/13 19:33  投稿

JavaとJavaScriptで困ってます!!
JavaとJavaScriptで本当に困っています!助けてください!!ソースは長いので、OSDNというサイトにコピペしました。https://osdn.net/users/nannpure/pastebin/4631
今、JavaScriptでJava側にリクエストを投げて、マスタからSQLのSELLECTを行うというのをやっていますが、何故かJava側にリクエストが届く前に処理が落ちます。これはeclipseでJavaにデバックをかけていたので、明らかです。しかし、GETをPOSTに変更しても、JavaのURLをブラウザに表示されたものをコピペして、統一しても結果は変わりませんでした。
接続するに対して、使用しているjqueryは共通のものをしようしているので、まずこれに不具合はないと思われます。引数を渡しているのですが、原因が分かりません。この原因と解決策が分かる方は教えて頂けると幸いです。
       function select_data(){
           var work_kbn_input = document.getElementById("work_kbn_input")
           var workKbn = new Object ;
           workKbn['workKbn'] = work_kbn_input.value ;
           var jsonData = new Object();
           jsonData['inputData'] = new Array();
           jsonData['inputData'].push(workKbn);
           $.ajax({
               url:   API_PATH + "/action/All" ,
               typr:   'POST' ,
               data: JSON.stringify(jsonData, null, ''),
               contentType: 'application/JSON',
               dataType : 'JSON'
           })
           .done(success)
           .fail(error)
           function success(jsonData){
               if( jsonData.result == true && Object.keys(jsonData).length > 0 ){
                   var str = "" ;
                   alert( jsonData ) ;
                   if( str == "更新"){
                       alert("既に登録されているデータがありました。更新を行いますか?") ;
                   } else if( str == "登録" ){
                       alert("まだ登録されていないデータでした。更新を行いますか?") ;
                   }
               }else{
                   alert("NO!") ;
               }
           }
           function error(jsonData){
               alert("ERRR!") ;
           }
       }
また、今表をSELECTした分だけを表に出し、それのセルに編集ボタンを出しているのですが、最後の行の情報だけが取得されます。できれば、一番上のボタンを押したら、一番上の行のデータ、二番目なら二番目のデータを取得したいのですが、方法が分かりません。解決策や初心者にも分かりやすい参考サイト等を教えて頂けると幸いです。
       function data(json_Array , json_indent , table ,work_kbn_input , work_name_input , button_edit){
//           button_edit = '<input type="button" class="button_edit" id="button_edit" value="編 集" />' ;
//           button_edit = '<button type="button" class="selectButton" >編 集</button>';
//           var button_edit = document.createElement("button") ;
//           button_edit.textContent = "編 集" ;
           var table = document.getElementById("work_kbn_table_id") ;
           var work_kbn_Array = [] ;
           var work_name_Array = [] ;
           var button_Array = [] ;
           var work_kbn_indent = 0 ;
           var work_name_indent = 0 ;
           var button_indent = 0 ;
           for (var j = 0 ; j < json_Array.length ; j++ ){
               // 行を行末に追加
               var row = table.insertRow(-1);
               // セルの挿入
               var cell1 = row.insertCell(-1);
               cell1.appendChild(document.createTextNode(json_Array[j].WorkKbn)) ;
               cell1.data= work_kbn_indent ;
               work_kbn_Array[work_kbn_indent] = {
                       'cell_work_kbn' : cell1
               }
               work_kbn_indent++ ;
               var cell2 = row.insertCell(-1);
               cell2.appendChild(document.createTextNode(json_Array[j].WorkName)) ;
               cell2.data = work_name_indent ;
               work_name_Array[work_name_indent] = {
                       'cell_work_name' :cell2
               }
               work_name_indent++ ;
               var cell3 = row.insertCell(-1);
               var button_edit = document.createElement("button") ;
               button_edit.textContent = "編 集" ;
               button_edit.data = button_indent ;
               button_Array[button_indent] = {
                       'cell_button' : button_edit
               }
               button_indent++ ;
               for( var k = 0 ; k < json_Array.length ; k++ ){
                   button_edit.onclick = function(e){
//                   button_edit.onclick = function(e){
                       edit(work_kbn_input , work_name_input , cell1 , cell2 , work_kbn_Array , work_name_Array , button_Array , button_edit) ;
                   }
               }
               cell3.appendChild(button_edit ) ;
           }
       }
       function edit(work_kbn_input , work_name_input ,cell1 , cell2 , work_kbn_Array , work_name_Array , button_Array , button_edit){
           work_kbn_input.value = cell1.innerHTML;
           work_name_input.value = cell2.innerHTML ;
       }
申し訳ありませんでした。質問を削除したいので、質問内容消しました。ごめんなさい。
  • JavaScript

    38069 questions

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

  • Java

    24857 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る