GVKun编程网logo

如何在PHP中获取JavaScript变量值(js获取php的变量)

15

以上就是给各位分享如何在PHP中获取JavaScript变量值,其中也会对js获取php的变量进行解释,同时本文还将给你拓展Android,使用javascript界面从webview中提取javas

以上就是给各位分享如何在PHP中获取JavaScript变量值,其中也会对js获取php的变量进行解释,同时本文还将给你拓展Android,使用javascript界面从webview中提取javascript变量、COM中获取JavaScript数组大小的代码_javascript技巧、html获取javascript变量值的方法有哪些、javascript - js变量在PHP中怎么获取该变量?等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何在PHP中获取JavaScript变量值(js获取php的变量)

如何在PHP中获取JavaScript变量值(js获取php的变量)

我想要可以使用PHP访问的JavaScript变量的值。我正在使用下面的代码,但它没有在PHP中返回该变量的值。

// set global variable in javascript    profile_viewer_uid = 1;

// php code$profile_viewer_uid=$_POST[''profile_viewer_uid''];

这给了我以下错误:-

A PHP Error was encounteredSeverity: NoticeMessage: Undefined index: profile_viewer_uid

我使用的另一个PHP代码给出了空值

$profile_viewer_uid = "<script language=javascript>document.write(profile_viewer_uid);</script>

当我回声时,它什么也没显示。

答案1

小编典典

您将需要使用JS将其中包含变量的URL发送回去,例如:http :
//www.site.com/index.php?uid=1

通过在JS中使用如下代码:

window.location.href=”index.php?uid=1";

然后在PHP代码中使用$ _GET:

$somevar = $_GET["uid"]; //puts the uid varialbe into $somevar

Android,使用javascript界面从webview中提取javascript变量

Android,使用javascript界面从webview中提取javascript变量

如何将这个变量从网站提取到我的android代码?
我想它应该可以使用javascript界面​​,但我怎么得到它?

<script type="text/javascript">
    var Ids = "[4161, 104, 121, 202, 1462]";
</script>

我无法将网站上的代码更改为返回值的方法.

有什么建议么?

解决方法:

您可以在webview.loadurl调用中使用javascript:scheme.它将在webview页面中执行javascript.

从那里你可以让它在你的javascript界面​​中调用一个函数.

webview.loadUrl("javascript:Android.getIds(Ids);");

Android是用于声明javascript界面​​的名称空间.

//Add the javascript interface to your web view
this.addJavascriptInterface(new CustomJavaScriptInterface(webViewContext), "Android");

请注意,javascriptinterface仅适用于基本类型.所以你实际上不能直接传递一个数组.只需使用javascript方案循环遍历您的数组.我看到它不是一个真正的数组,所以你应该没关系:

public class CustomJavaScriptInterface {
    Context mContext;

    /** Instantiate the interface and set the context */
    CustomJavaScriptInterface(Context c) {
        mContext = c;
    }


    /** retrieve the ids */
    public void getIds(final String myIds) {

        //Do somethings with the Ids

}

COM中获取JavaScript数组大小的代码_javascript技巧

COM中获取JavaScript数组大小的代码_javascript技巧

IDispatch类型的指针,则表明该数组对象实际是一个JavaScript的内建数组对象,在JavaScript端,我们可以通过length属性来得到数组的大小,那么在此处,可以通过GetIDsOfNames函数和Invoke函数来获取数组长度,这样可以动态变量数组内容。

复制代码 代码如下:

// 获取数组长度
BSTR bstrLength = L"length";
DISPID dispid;
hr = lpDispatch->GetIDsOfNames(IID_NULL, &bstrLength, 1,
LOCALE_USER_DEFAULT, &dispid);
if ( SUCCEEDED(hr) )
{
CComVariant varResult;
hr = lpDispatch->Invoke(dispid, IID_NULL, LOCALE_SYSTEM_DEFAULT,
DISPATCH_PROPERTYGET, &noArgs, &varResult, NULL, NULL);

if ( varResult.vt == VT_I4)
{
nLength = varResult.intVal;
}
}

这个时候,nLength获得得到的就是数组的长度。

在JavaScript中的数组时一个对象,数组内容则是该对象的属性,是动态被创建的,这些属性的查询方式与length的查询方式有些类似,也是GetIDsOfNames和Invoke函数,主要差别在于名字的区别,数组中元素对象的属性,其名字是动态创建,也就是可以通过下标方式方式获取,因此,在此处,也可以通过下标方式获取该属性名称,具体如下:

复制代码 代码如下:

for ( int i=0; i{
CComVariant vaIndex(i, VT_I4);
vaIndex.ChangeType(VT_BSTR);
DISPID dispid;
hr = lpDispatch->GetIDsOfNames(IID_NULL, &vaIndex.bstrVal,1,
LOCALE_USER_DEFAULT, &dispid);
if ( FAILED(hr) )
{
continue;
}
CComVariant varResult;
hr = lpDispatch->Invoke(dispid, IID_NULL, LOCALE_SYSTEM_DEFAULT,
DISPATCH_PROPERTYGET, &noArgs, &varResult, NULL, NULL);
VARTYPE vt = varResult.vt;
if (vt == VT_DISPATCH )
{
InvokeArray( varResult );
continue;
}
hr = varResult.ChangeType(VT_BSTR);
CComBSTR bstrVal = varResult.bstrVal;
}


于是通过这两种属性方式的调用,就可以在COM接口中便利所有的JavaScript数组对象了。

这个有什么好处呢,在查看很多网上资源的时候,发现大部分采用SAFEARRAY方式对结构体进行处理,传入到COM接口中,但SAFEARRAY在MIDL中并不被支持,而且JavaScript对象本身也不支持这个内容,要对SAFEARRAY方式操作,需要切换VBScript和JavaScript两种语言,这会导致程序编写的困难和维护人员的困惑。

直接采用JavaScript方式传入数组,对数组任意方式进行整合,就不需要通过SAFEARRAY方式进行结构体整合。同时,由于JavaScript中的每一个对象(元素)都带有本身的类型信息,因此,JavaScript中的数组时C中结构体的最佳替代方式(传递方式)。

html获取javascript变量值的方法有哪些

html获取javascript变量值的方法有哪些

html获取javascript变量值的方法有哪些

html获取javascript变量值有如下三种方法:

(免费学习视频分享:html视频教程)

方法一:嵌入到html句子中,当html元素使用

<scriptlanguage="javascript"type="text/javascript">
   var df=newDate(); 
   var year= df.getFullYear() ;
   document.write("<td>"+year+" J2EE开发</td>");
</script>
登录后复制

方法二:使用jquery

立即学习“Java免费学习笔记(深入)”;

js部分:

$(function(){
      vardf=newDate();
      varyear=df.getFullYear()
      $("#td1").text(year+" J2EE开发");
   });
登录后复制

html:

<td id="td1"></td>
登录后复制

方法三:使用jsp语法

<%
   java.text.SimpleDateFormatdf = new java.text.SimpleDateFormat("yyyy");
   Stringyear = df.format(new java.util.Date());
 %>
 
<td align="center"><%=year%> J2EE开发</font></td></tr>
登录后复制

相关推荐:html教程

以上就是html获取javascript变量值的方法有哪些的详细内容,更多请关注php中文网其它相关文章!

javascript - js变量在PHP中怎么获取该变量?

javascript - js变量在PHP中怎么获取该变量?

在js中定义一个变量,在php中怎么获取该变量?(在一个页面)

回复内容:

在js中定义一个变量,在php中怎么获取该变量?(在一个页面)

JS是前端,PHP是后端,后端PHP要获取前端JS的变量,那前端JS可以通过AJAX传输数据给后端PHP.比如登录页面login.php:

<?php if (!defined(''APP_ROOT'')) define(''APP_ROOT'', ''./'');
require APP_ROOT.''include/common.php''; // 加载functions.php,验证cookie等
//后端PHP使用if处理各种前端JS发出的"事件/操作/请求",处理完成exit退出
if(isset($_GET[''action'']) && $_GET[''action'']===''login'') {
    if(isset($_POST[''name''])
    && isset($_POST[''pass''])
    && $_POST[''name'']===''ele''
    && $_POST[''pass'']===123) {
        $ret[''num''] = 0;
        $ret[''txt''] = ''登录成功'';
        echo json_encode($ret);
        exit();    
    } else {
        $ret[''num''] = 1;
        $ret[''txt''] = ''登录失败'';
        echo json_encode($ret);
        exit();    
    }
}
?><?php //下面的 "header.php + 登录表单 + footer.php" 可以考虑写一个render函数加载,从而分离界面和上面的逻辑
require ''header.php'';
?><?php //下面显示登录表单(PHP+HTML+AJAX)
?><script src="&lt;?php%20echo%20%24app%5B''theme_dir''%5D;%20?&gt;/js/jquery.js"></script><script>
//给登录按钮绑定点击事件
$(''.con'').on(''click'', ''.login'', function(){
    $(this).text(''正在登录'');
    var context = this;
    $.ajax(
        url: ''login.php?action=login'',
        type: ''POST'',
        //这里就是JS传输给PHP的变量,可以通过DOM获取
        data: ''name=''+$(''.name'').val()+''&pass=''+$(''.pass'').val(),
        success: function(data){
            var obj = $.parseJSON(data);
            console.log(obj);
            //JS根据PHP返回值进行相应操作
            if(obj.num==0) {
                $(context).text(obj.txt);
                setTimeout(function(){
                    //1秒后跳转到首页
                    window.location.href = ''/'';
                }, 1000);
            } else {
                $(context).text(obj.txt);
                setTimeout(function(){
                    $(context).text(''登录'');
                }, 1000);
            }
        }
    );
});
</script><?php require ''footer.php'';
?>
登录后复制

js中通过post提交到后台:

var data = {
   ''param'' : xxx
};
$.post(url,data,callback)
登录后复制

php后台接受数据(此处基于thinkPHP):

立即学习“PHP免费学习笔记(深入)”;

$data = I(''post.param'')
登录后复制

前后台数据通讯用get或post就行了,js中的直接走ajax

$__POST[]

要么AJAX,要么就PHP在页面上输出变量值,JS再去获取

js 代码 ajax 推送到 test.php文件

var xmlhttp; 
if (window.XMLHttpRequest) 
 {// code for IE7+, Firefox, Chrome, Opera, Safari 
 xmlhttp=new XMLHttpRequest(); 
 } 
else
 {// code for IE6, IE5 
 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
 } 
 
 
xmlhttp.onreadystatechange=function() 
 { 
 if (xmlhttp.readyState==4 &amp;&amp; xmlhttp.status==200) 
  { 
  //此处处理  php 处理后返回的结果
  alert(xmlhttp.responseText);

  
  }  else{
      

  }
 } 
xmlhttp.open("GET","test.php?id=10",true); 
xmlhttp.send(); 
登录后复制

php 文件

if(isset($_GET[''id''])){
echo ''前台js推送过来的变量为:''.$_GET[''id''];
}
登录后复制

如果是提交表单的话,好吧 ,其实大部分是将js里面的数据绑定在一个html的input中,将这个input隐藏起来,然后提交表单的时候就可以一起提交过去了~

好像大家都没有理解楼主的意思,据我所知,在不提交的情况下是实现不了吧,不过反过来js可以获取PHP输出的值。

我们今天的关于如何在PHP中获取JavaScript变量值js获取php的变量的分享就到这里,谢谢您的阅读,如果想了解更多关于Android,使用javascript界面从webview中提取javascript变量、COM中获取JavaScript数组大小的代码_javascript技巧、html获取javascript变量值的方法有哪些、javascript - js变量在PHP中怎么获取该变量?的相关信息,可以在本站进行搜索。

本文标签:

上一篇为什么是Object.defineProperty()而不是this.defineProperty()(对于对象)?(为什么object to doing)

下一篇从Python项目创建单个可执行文件(从python项目创建单个可执行文件)