在 jquery post call 中不能 require_once
Posted
技术标签:
【中文标题】在 jquery post call 中不能 require_once【英文标题】:cannot require_once in a jquery post call 【发布时间】:2012-02-15 23:23:39 【问题描述】:如果我尝试 require_once 所需的文件来实例化 php 对象并获取该对象的属性,我正在努力使用返回 SyntaxError 意外令牌的 Jquery 发布调用。奇怪的是,它似乎在我的远程服务器上工作,但不在我的本地测试服务器上。代码如下:
进行 Jquery 调用的 php 文件的一部分:
<script type="text/javascript"> getSelectData() </script>
<!-- Dynamiclygenerate the emailadress for the first referens in the list -->
<div id="customer_ref_id">
<label for="customer_name">Kund:</label>
<p><?php echo $customer->customer_name; ?> </p>
<a href="#" class="toprghtimg"> <img src="../images/back.png"/></a>
<p class="instruction">
Välj Kundreferens i listan nedanför.
Finns ej din referens så skapa en ny referens knuten till
kunden genom att klicka på knappen nere till höger.
</p>
<div class="clearLeft"></div>
<label for="customer_ref_id">Kundreferens:</label>
<select name="customer_ref_id" id="customer_ref_id">
<?php
foreach ($customerRefs as $customerRef) ?>
<option value="<?php echo $customerRef->id; ?>">
<?php echo $customerRef->full_name(); ?>
</option>
<?php ?>
</select>
<input type="button" value="Skapa ny Kundreferens" onclick="getNewCustRef()" />
<div class="clearLeft"></div>
<div id="customerRefInfo"> <label>E-post:</label><p>-Ej registrerad-</p></div>
<input type="button" class="after_p" value="Ändra referensens data" onclick="changeRefData()" />
</div>
这是 getNewCustRef() 函数:
function getSelectData()
var formData = $("#customer_ref_id select").serialize();
$.ajax(
url : 'getSelectData.php',
type : 'POST',
dataType: 'json',
data : formData,
success: function( data )
$('#customerRefInfo p').replaceWith('<p>'+data+'</p>' ) ;
,
error: function(XMLHttpRequest, textStatus, errorThrown)
alert(errorThrown);
);
这是我无法获取所需函数文件的 getSelectData.php 文件:
<?php require_once("../../includes/initialize.php");
$customer_ref_id = $_POST['customer_ref_id']; // Selected customer_ref_id
$custRef = CustomerRef::find_by_id($customer_ref_id);
$custRefEmail = $custRef->e_post;
echo json_encode($custRefEmail);
?>
如果我将 require 注释一次并设置 $custRefEmail = $customer_ref_id 它会返回 post 函数发送的 ID。所以数据可以顺利到达那里。当我尝试包含任何文件时,一切都失败了...... ???是的,我花了几个小时在谷歌上搜索并在这里查看各种问题......我绝望地寻求帮助......
【问题讨论】:
确切的错误信息是什么? 【参考方案1】:你应该运行一个 phpinfo();看看这两个 PHP 版本都包含 JSON 支持和所有其他需要的库。
然后我会仔细检查以确保该文件位于正在查看的目录中。在这种情况下,它是祖父目录 (../../file.php)。
然后我会创建几个文件,看看是否可以让 include / require_once 函数工作。
有时使用远程/本地操作很容易混淆。就在今天,我正在编辑一个文件的本地副本,并且因为远程文件没有显示任何更改而撕毁了我的头发!
【讨论】:
显然有人认为你不能在 jQuery 帖子中使用“require_once”。你可以。如果您不知道自己在说什么,请不要将此标记为错误答案。错误信息比没有信息更糟糕。以上是关于在 jquery post call 中不能 require_once的主要内容,如果未能解决你的问题,请参考以下文章
jquery中的,$.post(),方法发送后,怎么获取数据?
HttpClient post call 适用于邮递员,但不适用于 C#
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结