如果你们能回答这个问题,我会印象深刻的。基本上,我正在开发一个全堆栈的web应用程序,它包含以下三个组件:
程序流程应如下所示:
我遇到了多个问题。它们如下:
>
当我单击submit按钮时,Javascript会不断刷新页面,即使我有$(文档)。在(“submit”,“#add Article”,函数(e){e.preventDefault();}
(请参阅下面的相关代码)。
它看起来根本没有达到终点。
数据库中未保存任何内容
以下是我知道有效的方法,以下是我尝试过的方法:
>
我已经通过Postman对此进行了测试,并且能够成功地添加到文章集合中。
我设法在main的开头发出警报。js,所以我知道它连接到javascript。
在做了大量的研究之后,我发现我可以直接使用JavaScript来做一些类似文章的事情。保存前端。问题是,我希望数据进入Java,以便对其进行清理,从而增加ObjectId。
这是相关代码
类型
<form id="add-article">
<input type="text" id="title"/>
<label for="title">Title </label>
<input type="text" id="authors"/>
<label for="authors">Author(s) </label>
<input type="text" id="genre"/>
<label for="genre">Genre </label>
<input type="text" id="content"/>
<label for="content">Content </label>
<button id="addArticle">Submit Article for Peer Review</button>
</form>
Javascript
alert('JS is linked to page!');
function Article(Id = 1, Title = "", Authors="", Content = "", Genre = "", Date = 1497484623) {
console.log("JavaScript file loaded successfully");
var self = this;
self.Id = Id;
self.Title = Title;
self.Authors = Authors;
self.Content = Content;
self.Genre = Genre;
self.Date = Date;
self.Save = function() {
var settings = {
url: 'localhost:8080/articles/addArticle/',
method: 'POST'
};
var myData = {
"Title": self.Title,
"Authors": self.Authors,
"Content": self.Content,
"Genre": self.Genre,
"Date": self.Date
};
settings.data = myData;
$.ajax(settings).done(function(Article) {
var myArticle = new Article(Article.Id, Article.Title, Article.Authors,
Article.Content, Article.Genre, Article.Date);
CreateSuccessRow(myArticle);
});
};
}
$(document).on("submit", "#add-Article", function(e) {
e.preventDefault();
alert('submit Activated');
var title, authors, genre, content;
title = $("#title").val();
director = $("#authors").val();
rating = $("#genre").val();
notes = $("#content").val();
var myArticle = new Article(title, authors, genre, content);
alert(myArticle.title);
addArticle(myArticle);
//$("#add-article")[0].reset();
$("#title").focus();
});
function addArticle(Article) {
alert('addArticle Activated');
var settings = {
url: 'localhost:8080/articles/addArticle',
method: 'POST'
};
var myArticle = {
"Title": Article.Title,
"Authors" : Article.Authors,
"Content": Article.Content,
"Genre" : Article.Genre,
"Date": 1497484623
};
settings.data = myArticle;
$.ajax(settings).done(function(Article) {
var myArticle = new Article(Article.Title, Article.Authors, Article.Content,
Article.Genre, Date);
//CreateArticleRow(myArticle);
console.log("Article Created");
});
}
控制器终结点
`@RestController
@请求映射(“/文章”)公共类ArticleController{
private ArticleRepo articleRepo;
@Autowired
public ArticleController(ArticleRepo articleRepo) {
this.articleRepo = articleRepo;
}
@RequestMapping(value = "/addArticle", method = RequestMethod.POST)
@ResponseBody
public Article addArticle(@RequestBody Article newArticle) {
//sanitizing happens here
articleRepo.save(newArticle);
return newArticle;
}
}`
我已经为同一个问题困扰了一天多了,如果有人能帮助我,我将不胜感激。我假设Javascript有问题。
jquery选择器与html代码不匹配(添加文章而不是添加rticle)。jquery选择器似乎区分大小写
$(document).on("submit", "#add-article", function(e) {
e.preventDefault();
alert('submit Activated');
var title, authors, genre, content;
title = $("#title").val();
director = $("#authors").val();
rating = $("#genre").val();
notes = $("#content").val();
var myArticle = new Article(title, authors, genre, content);
alert(myArticle.title);
addArticle(myArticle);
//$("#add-article")[0].reset();
$("#title").focus();
});
我试图创建一个小的GUI,它有2个JButtons和2个JPanels,每个JPanels上都有一些绘图动画。默认情况下,它必须显示第一个JPanel,通过单击第二个JButton我想看到第二个JPanel。所以:我创建了JFrame、Panel1和Panel2,在这里我绘制了我的动画,创建了Button1和Button2,并向它们添加了ActionListeners。我还有一个MainPanel
问题内容: 我想将点击事件添加到中。我使用了这个例子,并得到了: 但是不幸的是没有任何反应。当我用另一个元素(例如按钮)测试它时,它可以工作: 问题答案: 您可以将点击附加到iframe内容: 注意:这仅在两个页面位于同一域中时才有效。
问题内容: 是否可以使用给定的坐标来模拟网页中JavaScript的点击? 问题答案: 您可以调度 点击 事件,尽管这与实际点击不同。例如,它不能用于欺骗跨域iframe文档以使其被点击。 所有现代浏览器都支持和,因为至少IE 6,火狐5,Chrome浏览器和Safari的你很可能任何版本可能任何版本的关心。它甚至会点击链接并提交表格:
问题内容: 我正在尝试通过Selenium进行网络抓取。我的问题很简单:如何找到链接,然后如何单击它?例如:以下是我要网页抓取的HTML: 因此,如您所见,“详细信息”是一个链接。 如何使用Selenium找到该链接并单击它? 问题答案: 您可以使用: 例如: 要单击它,只需调用click方法:
我需要在XML中保留很少的值,并且需要通过XSLT添加新的节点。 价值需要保留,新的选项需要添加。 如何实现这一点。下面是我的代码。 有人能帮忙吗? 谢谢
问题内容: 按照标题,在Jenkins中,如何使用CLI将新的从属节点添加到构建集群中,或者如果没有CLI选项,是否可以使用另一种脚本化方法? 问题答案: 许多人使用Swarm插件来消除实际手动添加从站的需要。当然,您将需要编写swarm代理的安装脚本,但这应该很简单。