就像标题所说,我正在对这样的php文件进行ajax调用:
function loadForm(val1, val2, val3){
$.ajax({
url : 'AL_loadForm.php',
type : 'POST',
data : {
value1 :val1,
value2: val2,
value3:val3
},
dataType:'json',
success : function(data) {
alert(data);
},
error : function(request,error)
{
alert("error");
}
});
}
在我的loadForm.php中我有两种情况,如果我加载这段代码,我得到了一个成功的ajax调用而没有错误:
<?php
if($_POST){
$var1 = $_POST['value1'];
$var2 = $_POST['value2'];
$var3 = $_POST['value3'];
echo json_encode($var1);
}
?>
但是如果我用include php文件加载这个相同的代码,我的ajax调用中会出现错误
<?php
if($_POST){
include 'AL_createTbObj.php';
$var1 = $_POST['value1'];
$var2 = $_POST['value2'];
$var3 = $_POST['value3'];
echo json_encode($var1);
}
这是正常的吗?用一个ajax调用不能在另一个php文件中做东西??
编辑:添加AL_createTBObj.php的内容, 基本上它从类tableRows.php
创建一个对象<?php
require 'tableRows.php';
//Create mySqli object with DB Params
$conn = new mysqli($dbHost, $dbUser, $dbPass, $dbDB);
//Create TableRows object
$tb = new TableRows($conn);
//Connect to Data Base
$tb->checkDb();
?>
类tableRows.php中有一些echo 'content'
..但是这些方法还没有被调用....
答案 0 :(得分:0)
您的return false;
文件缺少顶部的AL_createTBObj.php
。这意味着内容将作为文本返回,而不是作为php处理。
检查这个以及任何其他包含的文件在任何代码之前都有<?php
- 如果它都是php,则在文件的最顶部。您不需要使用<?php
终止文件,您可以选择将其保留,因为这样可以确保在?>
发送到客户端后文件末尾没有空格。
答案 1 :(得分:0)
在评论了很多代码后,我终于认为这是在导致错误的类定义之后添加的javascript代码。我仍然不明白为什么,但我想我会在单独的.js文件中添加此javascript代码。感谢所有答案!
<?php
class TableRows {
code...
}
?>
<script type="text/javascript">
function myCreateFunction(string,offerId,offerName,iniciadas,finalizadas,unsuccesful,successful,revenue,unsuccesfulPerCent,filtradas,trafico,traficoPerCent,biddingScore) {
var offerId = '<tr><th>'+offerId+'</th></tr>';
var offerName = '<tr><th>'+offerName+'</th></tr>';
var iniciadas = '<tr><th>'+iniciadas+'</th></tr>';
var finalizadas = '<tr><th>'+finalizadas+'</th></tr>';
var unsuccessful = '<tr><th>'+unsuccesful+'</th></tr>';
var succesfull = '<tr><th>'+successful+'</th></tr>';
var revenue = '<tr><th>'+revenue+'</th></tr>';
var unsusccesspercent = '<tr><th>'+unsuccesfulPerCent+'</th></tr>';
var filtro = '<tr><th>'+filtradas+'</th></tr>';
var trafico = '<tr><th>'+trafico+'</th></tr>';
var traficoPerCent = '<tr><th>'+traficoPerCent+'</th></tr>';
var biddingScore = '<tr><th>'+biddingScore+'</th></tr>';
var table = document.getElementById("myTable");
var row = table.insertRow(-1);
if(string == '1'){
row.className = "alt";
}else{
row.className = "alt2";
}
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
var cell4 = row.insertCell(3);
var cell5 = row.insertCell(4);
var cell6 = row.insertCell(5);
var cell7 = row.insertCell(6);
var cell8 = row.insertCell(7);
var cell9 = row.insertCell(8);
var cell10 = row.insertCell(9);
var cell11 = row.insertCell(10);
var cell12 = row.insertCell(11);
cell1.innerHTML = offerId;
cell2.innerHTML = offerName;
cell3.innerHTML = iniciadas;
cell4.innerHTML = finalizadas;
cell5.innerHTML = unsuccessful;
cell6.innerHTML = succesfull;
cell7.innerHTML = revenue;
cell8.innerHTML = unsusccesspercent;
cell9.innerHTML = filtro;
cell10.innerHTML = trafico;
cell11.innerHTML = traficoPerCent;
cell12.innerHTML = biddingScore;
}
</script>
我已经评论了所有的javascript代码,现在ajax做了成功的电话!