好的,所以试图将需要连接到我们的SQL数据库的页面放在一起。所以在javascript页面上我有一些函数可以自动完成一个文本框,其中包含我们的mysql数据库中的数据,然后我需要将它发送到其他函数和类,这样它就可以查看我们的SQL数据库并返回一些数据。我遇到的问题是尝试在php页面中调用.GET调用,调用我需要进入SQL调用的类的函数。我有点设置,但试图弄清楚如何通过它发送数据,以及澄清如何使用.GET函数。
Javascript页面:
$.get("dsl_validate.php", calldsl(job));
Php Page
function calldsl($job){
var $dsljob = $job
hasfunctioncode($dsljob);
}
hasfunctioncode功能在我的DSL类页面中,它将返回我需要的信息。如果我在正确的方向上,有任何帮助吗?
答案 0 :(得分:4)
看起来你正在尝试从JavaScript中物理调用PHP函数calldsl()
。这......不对。 (我假设您使用的$.get()
来自jQuery,如果该假设不正确,请纠正我。)
$.get()
所做的只是在Web服务器上调用资源。它不了解服务器端代码(由于多种原因,也不应该知道它)。从服务器端代码的角度来看,通过$.get()
调用的页面与刚刚在Web浏览器中加载的页面之间没有区别。
你基本上需要做的是创建一个PHP页面,它接受作为表单帖子或查询字符串的参数(如果你使用$.get()
然后查询字符串是要走的路),它的服务器 - 逻辑,然后简单地将结果输出到“页面”。在您通过AJAX调用页面的情况下,使用JSON表示法呈现页面内容是个好主意。 (不要忘记将content-type标头设置为“application / json”。)
然后,您在$.get()
调用的客户端获得的是响应主体,即JSON数据。它实际上只是一个“页面”,唯一的区别是内容类型告诉浏览器它是JSON数据,它没有HTML,只有JavaScript对象。 success
调用的$.get()
回调(您传递的函数,或在线创建)将接收该响应数据作为参数,并可以使用它做您需要的。
答案 1 :(得分:2)
我理解jQuery.get()的方式,第二个参数是“回调”(http://api.jquery.com/jQuery.get/)。回调将从您的服务器提交结果,因此应该是一个函数。目前你的代码实际上执行了函数“calldsl”,你应该只传递一个像这样的引用......
使用Javascript:
$.get("dsl_validate.php", function(response){
alert("yay I haz ajax! "+response)
});
PHP:“dsl_validate.php”
echo "this is some data from the server";
答案 2 :(得分:1)
我认为你最好把这个函数作为一个参数传递到你的php页面
$.get("dsl_validate.php?calldsl="+job, function(data) {
$response = $(data);// create a jquery object from the response
});
`
并在你的php文件中 创建一个switch语句,根据参数
调用该函数答案 3 :(得分:1)
不,你的方向不正确。 get方法的第一个参数必须是页面的完整URL,而不仅仅是脚本(如果脚本位于javascript文件的同一目录中,则此方法有效)。 .php文件应该为你的javascript(JSON,或HTML,或者文本,或者其他)返回一些“可用”。在从调用返回数据之后将调用“calldsl”函数。这样的事情:
$.get('dsl_validate.php?value=somevalue', function(data) {
alert("Data returned from dsl_Validate: " + data)
});
答案 4 :(得分:0)
嗯我认为你错了,你的get函数的第二个参数是javascript函数,它将处理由“dsl_validate.php”返回的de数据。我的意思是,如果该页面返回“foo”,则作业将包含“foo”。
但根据我的经验,最好使用Jquery UI的自动完成插件