将PHP变量传递给AJAX变量

Rob*_*ght 2 php forms variables ajax jquery

在完成计算表格之后,通过PHP加载总数,我们有4个数据(用PHP留下的变量)

$ totalprice; $ totalduration; $ totaldives; $ totalhire;

目前,PHP以每个这样的回声结束.然后ajax像这样收集它们.

success: function() {
                 $('#results').html();
Run Code Online (Sandbox Code Playgroud)

问题是回声都是结果.

我想送$totalprice to $('#resultsprice').html();$totalduration to $('#resultsduration').html();等等...

任何想法如何做到这一点?

奇妙

Raú*_*ràs 7

您可以从PHP返回JSON字符串:

echo json_encode( array('totalprice'=>$totalprice, 'totalduration'=>$totalduration, 'totaldives'=>$totaldives, 'totalhire'=>$totalhire));
Run Code Online (Sandbox Code Playgroud)

然后,更改您的jquery ajax调用以将响应设置为json:

$.ajax({
    url: your_url,
    dataType: 'json',
    success: function (data) {
        $('#resultsprice').html(data.totalprice);
        $('#resultsduration').html(data.totalduration);
    });
Run Code Online (Sandbox Code Playgroud)


Ray*_*Ray 6

使用php函数json_encode().首先在php中创建一个包含4个变量的数组.Json对数组进行编码并回显结果.然后在jQuery中使用jQuery.parseJSON()将json代码解析为javascript变量.这是一个例子:

PHP:

$data = array('var1' => 'value1', 'var2' => 'value2', 'var3' => 'value3', 'var4' => 'value14');
echo json_encode($data);
Run Code Online (Sandbox Code Playgroud)

jQuery的:

success: function(data) {
     data = jQuery.parseJSON(data);
}
Run Code Online (Sandbox Code Playgroud)