Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于理解jQuery$.post的帮助-带代码示例_Jquery_Ajax_.post - Fatal编程技术网

关于理解jQuery$.post的帮助-带代码示例

关于理解jQuery$.post的帮助-带代码示例,jquery,ajax,.post,Jquery,Ajax,.post,我正在努力理解这一点。因此,让jquery$.post参考链接靠近我: 1)一个post请求被发送到testeUpdate.php,然后,我们可以传递一个名为“autocomplete”的字符串。精确的 问题1) 使用该字符串传递post请求意味着我们可以稍后, 根据条件处理该请求,具体指向: $\u POST['autocomplete'] 2) 稍后,我们有一个“on success”回调函数,它接受一个参数dadosReposta。精确的 问题2) 这个dadosResposta可能来自我

我正在努力理解这一点。因此,让jquery$.post参考链接靠近我:

1)一个post请求被发送到testeUpdate.php,然后,我们可以传递一个名为“autocomplete”的字符串。精确的

问题1) 使用该字符串传递post请求意味着我们可以稍后, 根据条件处理该请求,具体指向: $\u POST['autocomplete']

2) 稍后,我们有一个“on success”回调函数,它接受一个参数dadosReposta。精确的

问题2) 这个dadosResposta可能来自我们的服务器端脚本?是 这是一个包含我们收到的数据的参数

3)因此,一旦成功,我们要做的是:用一些值填充一些输入元素。val(dadosResposta.nsName)

问题3) 这种“点表示法”是访问json格式数据的一种方法,还是像我们通常做的那样在DOM上行走?那么,json在这里扮演什么角色呢

提前多谢了, 记忆

  • 是的,这是正确的,它是唯一的post变量,例如,您正在检查
    isset($\u post['autocomplete'])
    ,尽管您似乎希望实际在此处传递文本框值,因为autocomplete通常依赖于您已经键入的内容
  • 是的,这个函数在响应返回时运行,参数是从PHP页面返回的任何数据
  • 响应应该是这样的:
    {nsName:'name',nsAddress:'address'}

    它使用这些值来填充这两个字段,因此点表示法从响应中获取值,JSON只是让这更干净:)
  • 1)是,然后可以通过这种方式使用PHP访问autocomplete。($_POST['autocomplete'])。但除了它将在isset()上显示true之外,它不会有任何数据。

    2)是dadosResposta是将从服务器返回的响应。如果在$.post请求中将最后一个参数设置为json,则可以在javaScript中将其作为json对象本机使用。要以这种方式显示数据,可以在PHP中使用

    3)一旦收到数据,您可以随心所欲。但是,只有在json格式正确的情况下,点表示法才会起作用。参考:

    4)点表示法是一种访问以json格式返回的数据的方法,与DOM无关。如果将$.post的最后一部分更改为“text”,则从服务器返回的数据可以作为常规字符串处理。

    我使用了您的代码,并尝试在您已有的基础上进行构建,正如您所见,我将数据发送到jsFiddle上的json echo函数,该函数的响应如下(可能是……如果是PHP):

    正如您所见,我更改了postData以匹配您请求的响应,在服务器端,在正常情况下,它通常看起来有点像这样:

    echo json_encode(array("post_response"=>$_POST));
    

    我不知道JSFIDLE。我还是不知道该怎么办。。。但我会试试看。谢谢你最后一次剪短。通过其他人的回答,我对所有涉及的过程有了更好的了解。非常感谢。:)谢谢。那么,大约1):我应该在那里传递任何数据吗?我的意思是,我应该传递输入字段的值,一旦用户停止输入,我怎么做?$.post参数将是对该参数的响应吗?要发送特定表单的整个数据,jquery中的serialize()函数很有用。您可以这样做:var aaa=$(“#您的_表单_id”).serialize();$。post(“您的url”,aaa,function(){},“text_或_json”);--因此,所有数据都将进入php文件。输入中的名称将是可用于在服务器上引用的变量。例如:表单内部的值可以在服务器上以$u POST['hello']的形式访问。您可以使用jqapi.com详细研究$。POST与jquery网站的参考相同,但其布局方式更好,导航速度更快。Ohhh!这就像一个标准形式。好啊快到了。。从客户端到服务器的路径,我得到了,我仍然没有得到的是从服务器到客户端的路径。。。但如上所述,我将就此提出一个新问题。谢谢lot@all3)好的,可以使用Kristofer的Hansen示例来构建响应,比如:echo json_encode(数组(“nsName”=>$someString1,“nsAddress”=>$someString2));}我还没有把所有的点都连接起来。请耐心点……:)我可以“看到”服务器端:$dadosResposta=json_encode(数组(“nsName”=>$someString1,“nsAddress”=>$someString2));而客户端。。。函数(dadosResposta),但是SS上的$dadosResposta如何与dadosResposta CS连接?谢谢,MEM@MEM-名称
    dadosResposta
    没有任何意义,您可以在客户端将其称为
    data
    。服务器端也不重要,它只是根对象,响应应该与我在回答中的完全相同:
    {nsName:'name',nsAddress:'address'}
    ,该对象是POST回调中的第一个参数所指的对象。还要确保设置JSON MIME类型头,以便客户端(jQuery)知道它是JSON,并以这种方式处理它,方法如下:
    header('Content-type:application/JSON')我意识到名字并不重要。我相信$.post上的最后一个参数(字符串“json”将处理jQuery将响应读取为json的方式)是吗?我相信我仍然没有答案。我会就另一个问题发言非常感谢您的时间和评论。:)
    
    echo json_encode(array("post_response"=>$_POST));
    
    if(isset($_POST['somedata']))
    {
        //do stuff... you know, whatever
        echo json_encode(array("nsName" => $someString1,"nsAddress" => $someString2));
    }