如标题所示,我将对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);
}
这正常吗?不能做的东西在另一个PHP文件与一个单一的ajax调用?
编辑:添加AL_createTBObj.php的内容,它从tablelow。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();
?>
有一些echo 'content'
..但这些方法还没有调用....
您的AL_createTBObj.php
文件在顶部缺少<?php
。这意味着内容将作为文本返回,而不是作为php处理。
检查这个和任何其他包含的文件在任何代码之前都有<?php
-如果它都是php,则在文件的最顶部。您不需要终止带有?>
的文件,您可以选择不使用它,因为这具有确保在?>
发送到客户端后文件末尾没有空白的优点。
在注释了很多行代码之后,我终于发现这是在类定义之后添加的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做一个成功的调用!