美好的一天,我在为每个循环调用php内部的ajax函数时遇到麻烦,我的代码的目标是创建一个动态的评论和评论计数,我的问题是控制台说我的函数不是定义
这是我调用我的脚本的地方,它在foreach循环中,请注意。
char check[] = "05634";
char pass[4];
// printf("enter the user name\n");
// scanf(" %s",check);
printf("enter the password\n");
scanf(" %s", pass);
char ch;
char ultra[100];
// char filespec[strlen(check)+1];
// snprintf(filespec,sizeof(filespec),"%s",check);
int fd;
if ((fd = open(check, O_RDONLY)) != -1) {
// ch=fgetc(fp1);
int i = 0;
int flag = 0;
read(fd, ultra, 100);
// ultra[i]='\0';
char *token = strtok(ultra, "\n");
while (token != NULL) {
printf("the token is %s\n", token);
if (strcmp(pass, token) == 0) {
flag = 1;
break;
}
token = strtok(NULL, "\n");
}
if (flag == 1) {
printf("success\n");
} else {
printf("hry");
}
close(fd);
} else {
perror(" cl");
}
这是我的脚本代码
repositories {
jcenter()
google()
}
答案 0 :(得分:1)
您可以像这样简单地在PHP文件中调用java脚本。
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<?php
$arr = array('1','2','3','4','5','6','7');
foreach($arr as $val){
echo "<script type='text/javascript'>$( document ).ready(function() {
alert( '".$val."');
});</script>";
}
?>
</html>
答案 1 :(得分:1)
您在定义之前调用该功能
在这里,我们可以为您的问题做一个最小范例:
<div class="col s12 com_app_count_section">
<script>
count_app_and_com('10');
</script>
</div>
<script>
function count_app_and_com(discussion_id_val){
console.log(discussion_id_val);
}
</script>
&#13;
在这里你可以看到,通过使用超时,我们显示在调用之后定义了该函数。超时允许在执行执行的代码等待时注册该函数。这是一种调试问题的简便方法,因为您不必移动代码。然而,除非你的名字是特雷弗,否则它并不是真正的修复......
<div class="col s12 com_app_count_section">
<script type="text/javascript" >
setTimeout(function(){
count_app_and_com('10');
},1000);
</script>
</div>
<script type="text/javascript" >
function count_app_and_com(discussion_id_val){
console.log(discussion_id_val);
}
</script>
&#13;
所以简单的解决方法是在foreach中的脚本块之前放置第二个脚本块(定义函数的块)。例如,将函数定义放在文档的<head>
中。首先定义函数:
<script>
function count_app_and_com(discussion_id_val){
console.log(discussion_id_val);
}
</script>
<div class="col s12 com_app_count_section">
<script>
count_app_and_com('10');
</script>
</div>
&#13;
最后一个例子说明了这是一个容易犯的错误,这是违反直觉的。当放置在相同的<script>
标记中时,它可以正常工作。我确信这有一些奇特的技术原因:
<script>
count_app_and_com('10');
function count_app_and_com(discussion_id_val){
console.log(discussion_id_val);
}
</script>
&#13;