Javascript 无法调用函数php、ajax
我使用Ajax访问我的comment_insert.php。在我的comment_insert.php中,我想调用另一个php文件comments_insert.php中的公共静态函数。如果我调用这个函数,我的程序会得到一个 未捕获的语法错误:意外标记< 如果我删除了通话,一切正常。我不熟悉ajaxJavascript 无法调用函数php、ajax,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我使用Ajax访问我的comment_insert.php。在我的comment_insert.php中,我想调用另一个php文件comments_insert.php中的公共静态函数。如果我调用这个函数,我的程序会得到一个 未捕获的语法错误:意外标记log ..\comments\u意大利面.php:7 {userId:1,comment:testcommenttext,userName:alex} 如果我删除了函数调用,我会在console.log中得到我想要的: asdasd Alexan
function comment_post_btn_click(){
var _comment = $('#comment-post-text').val();
var _userId = $('#userId').val();
var _userName = $('#userName').val();
if(_comment.length > 0 && _userId != null){
console.log(_comment + " " + _userName + " " +_userId);
$.post("/ajax/comment_insert.php",
{
//we use this in the comment_insert.php(AJAX)
task : "comment_insert",
userId : _userId,
comment : _comment
}
).success(
function(data){
//going to turn the Json from comment_insert.php(AJAX)into a javascript object
comment_insert(jQuery.parseJSON(data));
console.log("Response text = " + data);
<?php
session_start();
if(isset($_POST['task']) && $_POST['task'] == 'comment_insert' ){
require_once $_SERVER['DOCUMENT_ROOT'] . 'defines.php';
$userId = (int)$_POST['userId'];
$comment = addslashes(str_replace ("\n" , "<br>" , $_POST['comment']));
$std = new stdClass();
$std -> userId = $userId;
$std -> comment = $comment;
$std -> userName = $_SESSION['userName'];
require_once ('comments_pasta.php');
Talk:hej();
echo json_encode($std);
}
?>
<?php
class Talk{
public static function hej(){
console.log("HEJ");
}
}
?>
事实上,这个意外的语法错误实际上是因为PHP抛出了一个错误,并且它的格式化错误报告包含了类似于“有一个错误!” 它在上中断,请尝试此ajax调用
function comment_post_btn_click()
{
var _comment = $('#comment-post-text').val();
var _userId = $('#userId').val();
var _userName = $('#userName').val();
var form_data = new FormData();
form_data.append('_comment',_comment);
form_data.append('_userId',_userId);
form_data.append('_userName',_userName);
$.ajax({
// url : 'userListAjax.php?r='+Math.random();,
url : 'userListAjax.php?r=',
dataType : 'text',
cache : false,
contentType : false,
processData : false,
data : form_data,
// data: {params:[page,display]},
type : 'post',
success : function(data){
// alert(data);
document.getElementById("dynamicContent").innerHTML=data;
}
});
}
什么都不管用。。从comment_insertjQuery.parseJSONdata获取输出;我只需要删除函数的调用。如果我使用console.logResponse text=+数据;在使用函数调用插入注释之前,我得到以下信息: 答复文本= ! 注意:在第7行的C:\wamp\www\ajax\comments\u意大利面.php中使用了未定义的常量console-假定为“console” 调用堆栈 时间记忆功能定位 10.0000247944{main}..\comment_insert.php:0 20.0120262616Talk::hej..\comment_insert.php:20 ! 警告:日志要求参数1为双精度,字符串在第7行的C:\wamp\www\ajax\comments\u意大利面.php中给出 调用堆栈 时间记忆功能定位 10.0000247944{main}..\comment_insert.php:0 20.0120262616Talk::hej..\comment_insert.php:20 30.0210263032http://www.php.net/function.log'target=''new'>log ..\comments\u意大利面.php:7 {userId:1,comment:testcommenttext,userName:alex} 如果我删除了函数调用,我会在console.log中得到我想要的: asdasd Alexander Lundh 1评论_insert.js:18
响应文本={userId:1,comment:asdasd,userName:alex}您在PHP中有一个javascript控制台命令。。。那不行。谢谢你的回答!你能告诉我应该在哪里添加“json”吗;在我的代码中。
$std -> userName = $_SESSION['userName'];
require_once ('comments_pasta.php');
$std->HEJ = Talk:hej();
$.post({ //object
}, 'json'); // <--final line closing $.post() wrapper
comment_insert(data);
function comment_post_btn_click()
{
var _comment = $('#comment-post-text').val();
var _userId = $('#userId').val();
var _userName = $('#userName').val();
var form_data = new FormData();
form_data.append('_comment',_comment);
form_data.append('_userId',_userId);
form_data.append('_userName',_userName);
$.ajax({
// url : 'userListAjax.php?r='+Math.random();,
url : 'userListAjax.php?r=',
dataType : 'text',
cache : false,
contentType : false,
processData : false,
data : form_data,
// data: {params:[page,display]},
type : 'post',
success : function(data){
// alert(data);
document.getElementById("dynamicContent").innerHTML=data;
}
});
}