目前我正在通过帖子向PHP文件提交表单,唯一的问题是我无法提交到该php文件,因为ajax出了问题。我的问题是,如果后端重写了网址,我可以提交到其他网址吗?
CURRENT PAGE网址: - 实际:http://site.com/topic.php?id=1 - 重写:http://site.com/topic/1
通缉页面网址: - 实际:http://site.com/comment.php
如何发送到comment.php文件?我认为javascript假设我正在尝试做site.com/topic/comment.php
HTML:
<form id="comment_on_topic" onsubmit="return sendComment();">
<textarea id="topicreply" name="topicreply">Initial value.</textarea>
<input type="submit" name="submit" value="submit" />
</form>
使用Javascript:
function sendComment(){
var $form = $('#comment_on_topic');
var $inputs = $form.find("input, select, button, textarea");
var serializedData = $form.serialize();
$inputs.prop("disabled", true);
/* GET FORM INPUTS & SERIALIZE */
var http = new XMLHttpRequest();
http.open("POST", '/comment.php');
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.send(serializedData);
/* AJAX REQUEST TO POST TO FILE */
return false;
}
PHP://根本没有被执行..(在comment.php中)
<?php if($_SERVER['REQUEST_METHOD'] == "POST") : ?>
<?php
require_once 'protected/connect.inc.php';
require_once 'protected/functions.inc.php';
$comment = sanitize($_POST['topicreply']);
sendComment( 1, 1, "Topic Reply", $comment );
?>
<?php endif; ?>
是的,正在执行javascript。序列化数据看起来很好(“id = value&amp; anotherid = value”)
答案 0 :(得分:0)
要了解会发生什么,我建议: - 查看Apache日志(访问和错误)以查看您的URL是否被重写以及如何重写它。 - 通过浏览器或Chrome插件Postman等工具运行您的查询(您可以看到PHP错误)。
这应该有助于发现问题!
答案 1 :(得分:0)
我已经弄明白了这个问题。我不得不使用http.open(“POST”,“../ comment.php'); javascript / html / css没有拾取实际的文件路径,如php。 (只是未来对其他人的帮助)