我尝试过很多不同的方法,但我无法让成功 block 执行,并且我一直让 ajax 请求作为错误返回,尽管 url 是正确的。我的错误是“未定义”。你对我可以尝试的其他事情有什么想法吗? 感谢您的帮助。
$(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);
}
});
});
});
最佳答案
在您的提交事件处理程序中添加:
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>
关于javascript - 为什么我的 wikipedia opensearch ajax 请求不能成功返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44274533/