【发布时间】:2016-06-24 09:07:23
【问题描述】:
我正在尝试将来自 facelet (.xhtml) 页面的消息发布到 REST Web 服务 (Jersey)。我认为如果服务器有的话,可以在 javascript/jQuery 中做,比方说
<?php header('Access-Control-Allow-Origin: *'); ?>
但是服务器似乎没有这样的属性,我不知道在哪里修改配置。
我试过了;
var settings = {
"async": true,
"crossDomain": true,
"url": "example.com",
"method": "POST",
"headers": {
"content-type": "application/xml",
"cache-control": "no-cache"
},
"data":
"<consultation>\n \n\
<consultationDescription>"+description+"</consultationDescription>\n \n\
<customerName>"+fullName+"</customerName>\n \n\
<customerPhone>"+phonenumber+"</customerPhone>\n \n\
<endDateAndTime>"+endDateAndTime+"</endDateAndTime>\n \n\
<startDateAndTime>"+startDateAndTime+"</startDateAndTime>\n\n\
</consultation>",
contentType: "application/xml",
$.ajax(settings).done(function (response) {
console.log(response);
});
但我只收到跨源错误。
那么我应该尝试在服务器上找到修改源的位置,还是应该采用不同的方法?也许是一个 并通过 #{sendXML.someMethod} 等 javabean 发布,但我不知道在哪里可以找到它的语法。我已经被这个问题困扰了一段时间,找不到一个好的答案。你们有什么想法吗?
示例:http://postimg.org/image/5k2thyl3p/
单击绿色单元格--> 写消息(提交)--> 在服务器上预订时间。更新视图。
【问题讨论】:
-
这是一个纯客户端的东西,与 JSF、javabeans 或 netbeans 无关。如果你想在服务器端做,它仍然与 jsf 无关,因为它是在“java”中完成的......所以选择吧..
-
@Kukeltje 我是新来的,对标签或术语不太了解。我的错。
-
没问题。您应该从客户端(javascript)执行此操作,或者在 bean(java 代码)中执行服务器端。不要尝试通过破解表单标签或其他方式从 facelets 本身进行操作......
-
@Kukeltje 由于 javascript 无法工作,我可能应该尝试在 Java 代码的服务器端进行。这是一张关于我正在尝试做的事情的图片。 postimg.org/image/5k2thyl3p 当我点击一个绿色单元格时,我想向服务器发送一些信息。而已。您能否指出一些有关 java bean 的信息?
标签: javascript java rest