2017-04-15 57 views
0
<script> 
$(document).ready(function() { 
    $('#submitButton').submit(function(event) { 
     event.preventDefault(); 
     $.post('http://sentiment.vivekn.com/api/text/', 
       $('#myForm').serializeArray(), 
       function(data, status) { 
        var json = JSON.parse(data); 
        $('text').html(document.getElementById('message').innerHTML); 
        $('sentiment').html(json.result.sentiment); 
        $('confidence').html(json.result.confidence); 
        console.log(json.result.sentiment); 
        console.log(status+"\n"); 
       }); 
     }); 
}); 
</script> 

<section class="container content-section"> 
    <div class="row"> 
     <div class="col-lg-10 col-lg-offset-1"> 

      <div class="row control-group"> 
       <div class="form-group col-xs-12 floating-label-form-group controls"> 
        <form id="myForm" method=POST action="http://sentiment.vivekn.com/api/text/"> 

         <p>Enter your sentences:</p> 
         <textarea rows="5" type=text name="txt" class="form-control" placeholder="Sentences to detect" id="message" required data-validation-required-message="Please enter a message."></textarea> 
         <br> 
         <button class="btn btn-primary align-right" type="submit" id="submitButton">Submit</button> 
        </form> 
       </div> 
      </div> 

這部分應該在頁面加載時工作,但它根本沒有響應。在頭部定義的Javascript函數不起作用

編輯:腳本根本不執行,我們得到的是對url的GET請求:... index.html /?txt = [inputfrommyform],頁面上沒有任何更改,而不是頁面甚至擊中目標POST請求服務器。

剛剛根據評論更新。謝謝!

我們從Chrome中得到的錯誤檢查仍然是

Uncaught ReferenceError: $ is not defined

+1

請澄清 「不響應」:這是否執行代碼的頁面加載?如果是,是否發送POST請求?如果是,你會收到答覆嗎?如果不是,POST請求的狀態是什麼?使用瀏覽器的開發者控制檯(按[F12])查看。 –

+0

如@le_m所述,需要更多信息。基本上,您希望我們幫助您調試出現的問題,但調試需要查看瀏覽器的反應並跟蹤意外反應的根本原因。所以我們需要更多關於瀏覽器在嘗試執行代碼時所說的內容。 – Webeng

+0

$('#submitButton')實際上在那裏嗎? – nbrogi

回答

1

四個問題:

  1. 你要聽哪個沒有按」 #myForm代替#submitButton的提交事件發出這樣的事件。

  2. 您的回調函數接收到已解析的JSON對象,解析再次失敗,因爲預期會得到一個字符串,但會給出一個對象。

  3. 您需要通過從提交事件處理程序返回false來阻止表單提交的默認操作。

  4. 您需要在之前的腳本中包含jQuery

固定碼:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script> 
 
    $(document).ready(function() { 
 
    $('#myForm').submit(function() { 
 
     $.post('http://sentiment.vivekn.com/api/text/', 
 
     $('#myForm').serializeArray(), 
 
     function(json, status) { 
 
      $('text').html(document.getElementById('message').innerHTML); 
 
      $('sentiment').html(json.result.sentiment); 
 
      $('confidence').html(json.result.confidence); 
 
      console.log(json.result.sentiment); 
 
      console.log(status + "\n"); 
 
     }); 
 
     return false; 
 
    }); 
 
    }); 
 
</script> 
 

 
<section class="container content-section"> 
 
    <div class="row"> 
 
    <div class="col-lg-10 col-lg-offset-1"> 
 
     <div class="row control-group"> 
 
     <div class="form-group col-xs-12 floating-label-form-group controls"> 
 
      <form id="myForm" method=POST action="http://sentiment.vivekn.com/api/text/"> 
 
      <p>Enter your sentences:</p> 
 
      <textarea rows="5" type=text name="txt" class="form-control" placeholder="Sentences to detect" id="message" required data-validation-required-message="Please enter a message."></textarea> 
 
      <br> 
 
      <button class="btn btn-primary align-right" type="submit" id="submitButton">Submit</button> 
 
      </form> 
 
     </div> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</section>

+0

謝謝!!!它的工作原理。 – Anonny