2017-05-31 24 views
1

私はさまざまな方法で試してみましたが、実行するブロックを取得できません。URLは正しいものの、ajaxリクエストがエラーとして返されます。私のエラーは "undefined"と言います。あなたが試すことのできる何か他のアイデアはありますか? ありがとうございます。あなたの提出イベントハンドラの追加wikipedia opensearch ajaxリクエストが正常に返されないのはなぜですか?

$(document).ready(function() { 
    $("form").submit(function() { 
    var searchTerm = $("#searchterm").val(); 
    var proxy = 'https://cors-anywhere.herokuapp.com/'; 
    var url = "https://en.wikipedia.org/w/api.php?action=opensearch&search=" + 
     searchTerm + "&format=json"; 

    $.ajax({ 
     url: proxy + url, 

     success: function(response) { 
     console.log(response); 
     }, 

     error: function(request, status, error) { 
     console.log(request.responseText); 
     console.log(url); 
     } 
    }); 
    }); 
}); 
+0

あなたが本当に 'と'アクション= ... '' api.phpの間に改行を持っていますか? JavaScriptの構文エラー – Phil

+0

また、エラーは何を言っていますか? – Phil

+0

私はしません。それは私の(非常に最初の)質問をStackoverflowに提出している間、ちょうど私の部分の書式設定エラーでした。しかし、私の注意を喚起してくれてありがとう! – allisonPlusPlus

答えて

2

e.preventDefault(); 

、デフォルトでは、あなたのフォームはあなたのコードをキャンセルし、フォームの提出イベントを実行しているので。

ホープこれはあなたを助けます:?

$(document).ready(function() { 
 
    $("form").submit(function(e) { 
 
    e.preventDefault(); 
 
    var searchTerm = $("#searchterm").val(); 
 
    var proxy = 'https://cors-anywhere.herokuapp.com/'; 
 
    var url = "https://en.wikipedia.org/w/api.php?action=opensearch&search=" + 
 
     searchTerm + "&format=json"; 
 

 
    $.ajax({ 
 
     url: proxy + url, 
 

 
     success: function(response) { 
 
     console.log(response); 
 
     alert("ok"); 
 
     }, 
 

 
     error: function(request, status, error) { 
 
     console.log(request.responseText); 
 
     console.log(url); 
 
     } 
 
    }); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<form> 
 
    <input id="searchterm" type="text" /> 
 
    <button id="btnSend" type="submit">Send</button> 
 
</form>

+0

これは私の問題を解決しました!どうもありがとうございます。 :D – allisonPlusPlus

+0

あなたを歓迎します。 :) –

関連する問題