如何在Cakephp 2中为XMLHttpRequest编写URL

问题描述

如何为XMLHttpRequest编写url,以便将数据发送到控制器。

我现在所拥有的是:

var data = `post=${post}`;
var xhr = new XMLHttpRequest;
xhr.open("POST","<?= Router::url(array('controller'=>'posts','action'=>'add')) ?>",true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send(data);

我知道我可以做到:

xhr.open("POST","/cakePHP/posts/add/",true);

但是我要指定确切的控制器和操作,这样,即使我更改网站名称,例如,我也不会更改代码

xhr.open("POST","/mywebsitename/posts/add/",true);

谢谢!

解决方法

没关系,我只是找到了替代解决方案。

我做到了:

var hostname = window.location.origin;
var data = `post=${post}`;
var xhr = new XMLHttpRequest;
xhr.open("POST",hostname + "/posts/add",true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send(data);

,以便它将自动获取我网站的基本URL。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...