我在运行脚本时遇到了麻烦。当我点击发送按钮时,一条消息应该被发送到一个保存它的控制器,但似乎按钮不能正常工作,没有任何事情发生。我可以使用错误的JQuery版本吗?
这是我的.html脚本:
<input id="wallPostInputText" type="text" placeholder="Your message" />
<input id="wallPostSubmit" type="button" value="Post" />
<script>
jQuery(function ($) {
$(document).ready(function () {
$("#wallPostSubmit").click(getMessageText);
});
function getMessageText() {
var messageText = $("#wallPostInputText").val();
$.ajax({
url: '@Url.Action("AddMessage", "ApiMessage", new { httproute = "" })',
type: "POST",
data: JSON.stringify({
MessageText: messageText,
SenderId: @senderID,
RecieverId: @receiverID
}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
window.location.reload();
}
});
}
});
这是我加载jquery的layout-html:
<script src="~/Scripts/jquery-3.2.1.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
这里有什么问题?我已经试了好几个小时没有成功。
答案 0 :(得分:0)
您似乎正在调用文档就绪函数两次,
使用jQuery(函数($))和另一个文档就绪。
尝试将其更改为:
<script>
function getMessageText() {
//Your code
}
jQuery(function ($) {
//The document ready part goes here
$("#wallPostSubmit").click(getMessageText);
});
</script>
如果这不适合你,请发布完整的代码,以便我们尽力提供帮助。
同时确保&#34; Network&#34;如果您确实正在加载jquery.js
,请在浏览器上添加选项卡答案 1 :(得分:0)
打开浏览器deverloper控制台,打开网络选项卡,重新加载页面。您对其中一个javascript文件有任何404或500响应吗?
jquery min可能未加载 - 删除了路径中的“〜/”
orientation: "bottom",
>使用〜/启动文件路径可能会在500或404中解析 - 你最好坚持使用Scripts / jquery,或者更好:
<script src="Scripts/jquery-3.2.1.min.js"></script>
将您的Scripts文件夹放在站点文件夹的根目录下。