在AJAX中嵌入PHP

时间:2013-08-14 01:25:44

标签: php ajax

首先,让我提供我在这种情况下处理的内容:

的index.php

<script text='type/javascript'>
    $(document).ready(function(){
        $('#load').click(load);
    });

    function load(){
        $.ajax({
            data:<?php header('HTTP/1.0 404 Not Found');echo 'Ok'; ?>
        }).done(function(data){
            $('#content').append(data);
        }
    }
</script>

<select id='load'>
   <option value='1'>1</option>
</select>

每当点击选择菜单时,我都需要一个要执行的PHP代码片段。在这种情况下,我需要执行字符串 '确定' (只是一个例子,以便了解它是如何工作的)。然而,就Ajax而言,我并不十分自信,但我确信以下是问题所在:

data:<?php header('HTTP/1.0 404 Not Found');echo 'Ok'; ?>

我不想使用 url:''并重定向到我要执行的PHP所在的页面。我在 index.php 文件中需要它。除了我希望这可以用Ajax完成,因为我需要异步请求,以便页面不会刷新。

实际上我正在开发一个数据库修饰符,我需要列出相应数据库中的所有表,我需要通过Ajax验证它,如你所猜测的那样。因此,无论何时选择数据库来列出其中的表,我都需要。我发布了所有这些以防万一它可能会有所帮助。

Code structure

提前感谢您提供任何答案和可能的解决方案!

2 个答案:

答案 0 :(得分:0)

您无法将PHP嵌入到javascript中。您将不得不使用AJAX从另一个PHP页面加载数据。

这样的事情:

<script text='type/javascript'>
    $(document).ready(function(){
        $('#load').click(load);
    });

    function load(){
        $.ajax({
            url: http://www.example.com/phppage.php,
            type: POST,
            data: { name: "John", location: "Boston" }
        }).done(function(data){
            $('#content').append(data);

        }
    }
</script>

<select id='load'>
   <option value='1'>1</option>
</select>

您可以在documentation page for jQuery AJAX上阅读更多内容。

答案 1 :(得分:0)

首先,没有办法在AJAX中嵌入PHP .PHP是在服务器上运行的语言,而ajax就是浏览器上运行的javascript。 PHP无法在浏览器上运行。但你的浏览器无法将http请求发送到PHP服务器并从中获取回复。所以,就像Alex Dumitru回答的那样。你需要一个像'phppage.php'这样的php页面,这是Alex Dumitru提到的通过ajax获取请求的例子然后你可以完成其他功能。